Erro ao Persistir objeto - Apostila de vRaptor[Resolvido]

2 respostas
M

Olá Galera.

Estou lendo a apostila da Caelum FJ28.

Estou com o seguinte erro quando tento salvar o objeto no banco.

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).

log4j:WARN Please initialize the log4j system properly.

Hibernate:

insert

into

Produto

(descricao, nome, preco)

values

(?, ?, ?)

Exception in thread main org.hibernate.exception.GenericJDBCException: could not insert: [br.com.caelum.goodbuy.modelo.Produto]

at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)

at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)

at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)

at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:64)

at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2329)

at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2836)

at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)

at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268)

at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)

at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)

at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)

at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)

at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)

at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:705)

at org.hibernate.impl.SessionImpl.save(SessionImpl.java:693)

at org.hibernate.impl.SessionImpl.save(SessionImpl.java:689)

at br.com.caelum.goodbuy.testes.AdicaoDeProduto.main(AdicaoDeProduto.java:27)

Caused by: java.sql.SQLException: Field id doesnt have a default value

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)

at com.mysql.jdbc.Connection.execSQL(Connection.java:3256)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1313)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1585)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1500)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1485)

at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94)

at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)

 16 more

Se alguém souber.

Agraços.

2 Respostas

Lucas_Cavalcanti

Caused by: java.sql.SQLException: Field ‘id’ doesn’t have a default value

o id não está sendo setado. Se vc não quer gerar o id manualmente, faltou um @GeneratedValue em cima do id

M

Opa.

Era isso mesmo.

Vlw Lucas Cavalcanti.

Criado 26 de março de 2011
Ultima resposta 28 de mar. de 2011
Respostas 2
Participantes 2