ola pessoal!!!
estou usando hibernate em um projeto.
neste, há tabelas com campos do tipo Date.
o banco de dados é mysql.
quando vou gravar o objeto no banco da o seguinte erro:
2005-07-07 15:49:44,361 DEBUG hibernate.impl.SessionImpl -> opened session at timestamp: 4590641906819072
2005-07-07 15:49:45,426 DEBUG hibernate.transaction.JDBCTransaction -> begin
2005-07-07 15:49:45,426 DEBUG hibernate.jdbc.AbstractBatcher -> opening JDBC connection
2005-07-07 15:49:45,426 DEBUG hibernate.connection.DriverManagerConnectionProvider -> total checked-out connections: 0
2005-07-07 15:49:45,426 DEBUG hibernate.connection.DriverManagerConnectionProvider -> using pooled JDBC connection, pool size: 0
2005-07-07 15:49:45,426 DEBUG hibernate.transaction.JDBCTransaction -> current autocommit status: false
2005-07-07 15:49:46,914 DEBUG event.def.DefaultSaveOrUpdateEventListener -> saving transient instance
2005-07-07 15:49:46,961 DEBUG event.def.AbstractSaveEventListener -> generated identifier: 2005-07-07 15:49:39, using strategy: org.hibernate.id.Assigned
2005-07-07 15:49:46,977 DEBUG event.def.AbstractSaveEventListener -> saving [br.org.apaecontagem.model.Feriado#2005-07-07 15:49:39]
2005-07-07 15:49:48,543 DEBUG hibernate.transaction.JDBCTransaction -> rollback
2005-07-07 15:49:48,543 DEBUG hibernate.jdbc.JDBCContext -> before transaction completion
2005-07-07 15:49:48,559 DEBUG hibernate.impl.SessionImpl -> before transaction completion
2005-07-07 15:49:48,559 DEBUG hibernate.transaction.JDBCTransaction -> rolled back JDBC Connection
2005-07-07 15:49:48,574 DEBUG hibernate.jdbc.JDBCContext -> after transaction completion
2005-07-07 15:49:48,574 DEBUG hibernate.impl.SessionImpl -> after transaction completion
java.lang.UnsupportedOperationException: cannot perform lookups on timestamps
o metodo que grava é o seguinte:
public static void insert(Object obj) throws Exception{
Session session = Persistencia.currentSession();
Transaction tx = session.beginTransaction();
try{
session.save(obj);
session.flush();
tx.commit();
}catch(Exception e){
tx.rollback();
throw e;
}
}
para todos os outros objetos funciona.
so nao funciona para datas.
o mapeamento é o seguinte:
CREATE TABLE `FARIADO` (
`DATA_FERIADO` date NOT NULL default '0000-00-00',
`DESCRICAO` varchar(100) default NULL,
PRIMARY KEY (`DATA_FERIADO`),
KEY `FARIADO_IDX_DESCRICAO` (`DESCRICAO`)
) TYPE=MyISAM;
public class Feriado implements java.io.Serializable {
private Date dataFeriado;
private String descricao;
... gets e sets
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="br.org.apaecontagem.model.Feriado" table="FARIADO">
<id name="dataFeriado" type="java.util.Date">
<column name="DATA_FERIADO" length="10" not-null="true" unique="true" sql-type="date" />
<generator class="assigned" />
</id>
<property name="descricao" type="java.lang.String">
<column name="DESCRICAO" length="80" not-null="true" sql-type="varchar" />
</property>
</class>
</hibernate-mapping>