Fala galera do portal… tudo bem?
Então estou com um probleminha em usar Hibernate + Anotations num DB Postgre
Não sei o que fazer… preciso de ajuda…
Tenho duas classes “Casa” e “Endereco” é um exemplo
O relacionamento entre elas é um para um.
Aqui vai o código das tabelas:
[quote]@Entity
@Table(name=“endereco”)
@SequenceGenerator(name = “SEQ_END”, sequenceName = “seq_endereco”)
public class Endereco {
private Integer id_endereco;
private String rua;
private Casa casa;
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = “SEQ_END”)
public Integer getId_endereco() {
return id_endereco;
}
@OneToOne(mappedBy = “endereco”)
public Casa getCasa() {
return casa;
}
public String getRua() {
return rua;
}
public void setCasa(Casa casa) {
this.casa = casa;
}
public void setId_endereco(Integer id_endereco) {
this.id_endereco = id_endereco;
}
public void setRua(String rua) {
this.rua = rua;
}
@Table(name=“casa”)
@Entity
@SequenceGenerator(name = “SEQ_CLOG”, sequenceName = “seq_casa”)
public class Casa {
private Integer id_casa;
private String nome;
private Endereco endereco;
@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = “SEQ_CLOG”)
public Integer getId_casa() {
return id_casa;
}
public String getNome() {
return nome;
}
public void setId_casa(Integer id_casa) {
this.id_casa = id_casa;
}
public void setNome(String nome) {
this.nome = nome;
}
}
[/quote]
Bom quando tento incluir conforme o codigo abaixo gera o seguite erro:
Exception in thread "main" org.hibernate.exception.DataException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:75)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1007)
at carro.regra.testes.TesteHibernate.teste(TesteHibernate.java:71)
at carro.regra.testes.TesteHibernate.main(TesteHibernate.java:20)
Caused by: java.sql.BatchUpdateException: Entrada em lote 0 /* insert teste.tabela.Endereco */ insert into endereco (rua, id_endereco) values (Rua do Verdao, 19) foi abortada. Chame getNextException para ver a causa.
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2396)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1257)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:334)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2455)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:5
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
... 7 more
Valeu Pessoal
Muito Obrigado pela atenção