Erro ao tentar inserir dados

Olá galera, eu estou tentando inserir dados em minha tabela mas ocorre o seguinte erro:

Exception in thread "AWT-EventQueue-0" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137) at controle.TabelaDAO.salvar(TabelaDAO.java:23) at face.JanelaAddTabela$1.actionPerformed(JanelaAddTabela.java:95) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6041) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5806) at java.awt.Container.processEvent(Container.java:2058) at java.awt.Component.dispatchEventImpl(Component.java:4413) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Component.dispatchEvent(Component.java:4243) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) at java.awt.Container.dispatchEventImpl(Container.java:2102) at java.awt.Window.dispatchEventImpl(Window.java:2440) at java.awt.Component.dispatchEvent(Component.java:4243) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into Tabela (idchaveprimaria, nome, DTYPE, idtabela) values (NULL, Produto5, 'Tabela', 11) was aborted. Call getNextException to see the cause. at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2530) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1317) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:350) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2592) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268) ... 34 more

Alguem sabe porque está acontecendo esse erro?
Se precisarem das classes só falar que eu coloco aqui.

Obrigado pela ajuda de todos!!!

pelo jeito ta dando erro ao converte algum valor
posta a classe onde vc ta fazendo o insert

Essa é a classe onde estou fazendo insert:

[code]@Entity
@SequenceGenerator(name=“SEQ”,sequenceName=“hibernate_sequence2”, allocationSize = 1)
public class Tabela {

@Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ")
private Long idtabela;

@Column (nullable = true, length = 50)
private String nome;


//private Long idchaveprimaria;

@OneToOne (cascade= CascadeType.ALL)
@JoinColumn (name="idchaveprimaria")
private ChavePrimaria chaveprimaria;

@OneToMany (mappedBy = "tabela")
private List<Atributo> atributo;



public List<Atributo> getAtributo() {
	return atributo;
}
public void setAtributo(List<Atributo> atributo) {
	this.atributo = atributo;
}


public ChavePrimaria getChaveprimaria() {
	return chaveprimaria;
}
public void setChaveprimaria(ChavePrimaria chaveprimaria) {
	this.chaveprimaria = chaveprimaria;
}
public Long getIdtabela() {
	return idtabela;
}
public void setIdtabela(Long idtabela) {
	this.idtabela = idtabela;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}

}[/code]

Código “dentro” da janela para inserir os dados:

[code]…
public void actionPerformed(java.awt.event.ActionEvent e) {

				Session session = new HibernateFactory().getSession();
				
				Tabela t = new Tabela();
				t.setNome(nome.getText());
				
				TabelaDAO tabelaDAO = new TabelaDAO(session);
				tabelaDAO.salvar(t);
				
				session.close();
				
			}

…[/code]

No erro ele coloca os atributos da tabela entre parenteses, mas esse DTYPE eu não tenho na minha tabela, o que seria esseDTYPE?

Oi,

Tente o seguinte:

Lá no strack trace diz:

E em seu código tem uma linha comentada:

Não deu certo Rafael. =/

Então fiaux, essa linha está comentada por que se eu rodar com ela, da erro dizendo que tem coluna duplicada.

Esse erro:

esse erro aí que da ;(

O que tem em ChavePrimaria?

ChavePrimaria

[code]@Entity
@SequenceGenerator(name=“SEQ”, sequenceName=“hibernate_sequence8”, allocationSize = 1)
public class ChavePrimaria {

@Id 
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ")
private Long idchaveprimaria;

@OneToOne (mappedBy= "chaveprimaria")
private Tabela tabela;

@OneToMany (mappedBy = "chaveprimaria")
private List<Atributo> atributo;

	

public Tabela getTabela() {
	return tabela;
}

public void setTabela(Tabela tabela) {
	this.tabela = tabela;
}


public List<Atributo> getAtributo() {
	return atributo;
}

public void setAtributo(List<Atributo> atributo) {
	this.atributo = atributo;
}

public Long getIdchaveprimaria() {
	return idchaveprimaria;
}

public void setIdchaveprimaria(Long idchaveprimaria) {
	this.idchaveprimaria = idchaveprimaria;
}

}[/code]

era na classe mesmo que você queria saber?

Sim.
Mas você mapeou duas vezes o sequence generator? Acho que o problema está nessa maneira como fez a chave primária, porém, eu não saberia exatamente como ajudar.

O Sequence Generator eu colocquei um para cada tabela.
Onde você acha que pode estar errado?

Vlw pela ajuda mesmo assim :smiley: