Pessoal tenho o Seguinte arquivo de mapeamento,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="entidade">
<class name="Produto" table="produto" >
<id name="codigo">
<generator class="assigned"/>
</id>
<property name="codigoSe" type="integer" column="codigoSe" formula="(select Coalesce(Max(p.codigoSe),0)+1 from produto p)"/>
<property name="descricao"/>
<property name="quantidade"/>
<property name="valorCompra"/>
<property name="percentual"/>
<property name="tamanho"/>
<property name="cor"/>
<property name="tipo"/>
<property name="observacao"/>
<many-to-one name="fornecedor" class="Fornecedor" column="fornecedor" lazy="false"/>
</class>
</hibernate-mapping>
Está dando o seguite erro. Isso aconteceu depois que usei o atributo fórmula.
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Hibernate: insert into produto (descricao, quantidade, valorCompra, percentual, tamanho, cor, tipo, observacao, fornecedor, codigo) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:92)
at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:80)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:181)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:226)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:136)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:274)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:730)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:324)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:86)
at dao.HibernateDAOProduto.gravar(HibernateDAOProduto.java:80)
at controle.FacadeProduto.gravar(FacadeProduto.java:36)
at controle.Teste.main(Teste.java:25)
Caused by: java.sql.BatchUpdateException: Field 'codigoSe' doesn't have a default value
at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:647)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:57)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:174)
... 10 more
Alguém poderia me ajudar?
Obrigado!