Relação pai e filho, sendo que a tabela filho não existe no banco.[resolvido]

Boa noite, segue a entidade que cria uma tabela para fazer a relação dos dados:

@Entity
@Table(name= "usuario")
public class Usuario implements Serializable{

	private static final long serialVersionUID = -7390392097656238443L;
	
	@Id
	@GeneratedValue
	private Integer codigo;
	private String nome;
	private String email;
	@org.hibernate.annotations.NaturalId
	private String login;
	private String senha;
	private Date nascimento;
	private String celular;
	private String idioma;
	private boolean ativo;
	
	//relação pai e filho
	//necessario para informar o tipo de dado da hashset.
	@ElementCollection(targetClass = String.class)
	@JoinTable(
			name="usuario_permissao",//tabela do lado muitos da relação OneToMany1
			uniqueConstraints = {@UniqueConstraint(columnNames = {"usuario", "permissao"})},//constroi um indice unico entre as colunas usuario e permissao
			joinColumns = @JoinColumn(name = "usuario"))//diz a qual coluna da tabela filho a tabela pai vai se ligar
	@Column(name = "permissao", length=50)
	private Set<String> permissao = new HashSet<String>();
	
	public Integer getCodigo() {
		return codigo;
	}
	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}
	public Date getNascimento() {
		return nascimento;
	}
	public void setNascimento(Date nascimento) {
		this.nascimento = nascimento;
	}
	public String getCelular() {
		return celular;
	}
	public void setCelular(String celular) {
		this.celular = celular;
	}
	public String getIdioma() {
		return idioma;
	}
	public void setIdioma(String idioma) {
		this.idioma = idioma;
	}
	public boolean isAtivo() {
		return ativo;
	}
	public void setAtivo(boolean ativo) {
		this.ativo = ativo;
	}
	public Set<String> getPermissao() {
		return permissao;
	}
	public void setPermissao(Set<String> permissao) {
		this.permissao = permissao;
	}

Após o código acima recebo o seguinte erro:


exception

javax.servlet.ServletException: org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
	financeiro.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:48)

root cause

org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
	org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
	org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
	org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
	org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
	org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:183)
	org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
	org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
	org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
	org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:375)
	org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
	financeiro.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:36)

root cause

java.sql.BatchUpdateException: Table 'financeiro.usuario_permissao' doesn't exist
	com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2054)
	com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1467)
	org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
	org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
	org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
	org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
	org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
	org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:183)
	org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
	org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
	org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
	org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:375)
	org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
	financeiro.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:36)

root cause

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'financeiro.usuario_permissao' doesn't exist
	sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	java.lang.reflect.Constructor.newInstance(Constructor.java:525)
	com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
	com.mysql.jdbc.Util.getInstance(Util.java:386)
	com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
	com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
	com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
	com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
	com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
	com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)
	com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
	com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
	com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2006)
	com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1467)
	org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
	org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
	org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
	org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
	org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
	org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:183)
	org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
	org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
	org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
	org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:375)
	org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
	financeiro.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:36)

E qual o problema?

Ele não ta criando a tabela?

Exato ele não cria a tabela =|

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'financeiro.usuario_permissao' doesn't exist

[quote=Mathe] Exato ele não cria a tabela =|

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'financeiro.usuario_permissao' doesn't exist [/quote]As outras ele criou? Como está sua configuração para criação de tabelas?

[quote=Hebert Coelho][quote=Mathe] Exato ele não cria a tabela =|

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'financeiro.usuario_permissao' doesn't exist [/quote]As outras ele criou? Como está sua configuração para criação de tabelas?[/quote]

Fora essa só tenho mais uma tabela no banco que eu criei por sql no mysql mesmo, ai fiz a relação, mas essa eu não queria fazer no mysql só queria fazer por ai, por ela ser muito pequena.
Qual seria a configuração para criação ?

[quote=Mathe][quote=Hebert Coelho][quote=Mathe] Exato ele não cria a tabela =|

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'financeiro.usuario_permissao' doesn't exist [/quote]As outras ele criou? Como está sua configuração para criação de tabelas?[/quote]

Fora essa só tenho mais uma tabela no banco que eu criei por sql no mysql mesmo, ai fiz a relação, mas essa eu não queria fazer no mysql só queria fazer por ai, por ela ser muito pequena.
Qual seria a configuração para criação ?[/quote]Se você criou uma pelo banco, por que você não cria a outra? O.o

Mar que preguiça… -_-’’

Você ta usando persistence.xml? ou o arquivo de configuração do hibernate?

AUHASDUHSAD velho faz quase 2 dias que não paro de ler esse livro ele ta dizendo para min fazer assim e eu estou estudando por ele, ja é o terceiro tópico que vc ta me ajudando em menos de 1 dia.

estou usando o
context.xml para fazer a conexão com o banco e dps to pegando a conexão pelo hibernate.cfg.xml

usei o context.xml para poder usar a conexão no spring tmb.

[quote=Mathe] AUHASDUHSAD velho faz quase 2 dias que não paro de ler esse livro ele ta dizendo para min fazer assim e eu estou estudando por ele, ja é o terceiro tópico que vc ta me ajudando em menos de 1 dia.

estou usando o
context.xml para fazer a conexão com o banco e dps to pegando a conexão pelo hibernate.cfg.xml

usei o context.xml para poder usar a conexão no spring tmb.[/quote]Na boa? Cuidado com esse livro então. ^^

Adicione a chave update no seu arquivo hibernate.cfb.xml.

DEU CERTO -

HAHA, vou tomar, mas namoral isso que pesquisei bastante antes de comprar --" nele também não tinha a linha

thread

ai tinha dado outro erro mas achei rapido na net.

Obrigado.

[quote=Mathe]
DEU CERTO -

HAHA, vou tomar, mas namoral isso que pesquisei bastante antes de comprar --" nele também não tinha a linha

thread

ai tinha dado outro erro mas achei rapido na net.

Obrigado.

[/quote]Que bom.

Mar que rai de livro é esse?

Programação Java para a Web, eu sei todo mundo diz que é pra min baixa o código fonte, e i analizando, só que o código fonte ta pronto e não ta com as configurações passo a passo do livro. Além do mais se eu digitar e sei que vou ir entendendo melhor.