Я работаю на устаревшей системе, использующей hibernate 3 andy mysql 5.5. Работает нормально. Я просто хочу обновить mysql версию с 5.5 до 5.7, но столбец даты вызывает проблемы. Пожалуйста, помогите мне.
Это мой файл hbm
**<?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="com.test.tst.log.GactivityDaylog" table="g_activity_daylog">
<id name="dlInd" type="integer">
<column name="dl_ind" />
<generator class="native" />
</id>
<property name="dlStrDt" type="timestamp">
<column name="dl_str_dt" length="19" not-null="true" />
</property>
<property name="dlEndDt" type="timestamp">
<column name="dl_end_dt" length="19" />
</property>
<property name="regKey" type="string">
<column name="reg_key" length="145" />
</property>
</class>
</hibernate-mapping>**
И это мой java class
** package com.test.tst.log; import java .util.Date;
public class GactivityDaylog implements java.io.Serializable {
// Fields
private Integer dlInd;
private Date dlStrDt;
private Date dlEndDt;
private String regKey;
// Constructors
public String getRegKey() {
return regKey;
}
public void setRegKey(String regKey) {
this.regKey = regKey;
}
/** default constructor */
public GactivityDaylog () {
}
/** constructor with id */
public GactivityDaylog (Integer dlInd) {
this.dlInd = dlInd;
}
// Property accessors
public Integer getDlInd() {
return this.dlInd;
}
public void setDlInd(Integer dlInd) {
this.dlInd = dlInd;
}
public Date getDlStrDt() {
return this.dlStrDt;
}
public void setDlStrDt(Date dlStrDt) {
this.dlStrDt = dlStrDt;
}
public Date getDlEndDt() {
return this.dlEndDt;
}
public void setDlEndDt(Date dlEndDt) {
this.dlEndDt = dlEndDt;
}**
Это поле вызывает проблему: -
org.springframework.dao.DataIntegrityViolationException: Операция гибернации: не удалось вставить: [ com.novoally.ns.log.GDaylog]; SQL [вставить в g_daylog (usr_ind, dl_str_dt, dl_end_dt, del_ind, reg_key) значения (?,?,?,?,?)]; Усечение данных: неверное значение даты и времени: '' для столбца 'dl_str_dt' в строке 1; вложенное исключение: com. mysql .jdb c .MysqlDataTruncation: усечение данных: неправильное значение даты и времени: '' для столбца 'dl_str_dt' в строке 1, вызванное: com. mysql .jdb c .MysqlDataTruncation: данные усечение: Неверное значение даты и времени: '' для столбца 'dl_str_dt' в строке 1 в com. mysql .jdb c .MysqlIO.checkErrorPacket (MysqlIO. java: 2973) в com. mysql .jdb c .MysqlIO.sendCommand (MysqlIO. java: 1600) в com. mysql .jdb c .ServerPreparedStatement.serverExecute (ServerPreparedStatement. java: 1125) в com. mysql .jdb c. ServerPreparedStatement.executeInternal (ServerPreparedStatement. java: 677) в com. mysql .jdb c .PreparedStatement.executeUpdate (PreparedStatement. java: 1357) в com. mysql .jdb * 1044State. executeUpdate (PreparedStatement. java: 1274) по адресу com. mysql .jdb c .PreparedStatement.executeUpdate (PreparedStatement. java: 1259) по адресу com.mchange.v2.c3p0.impl.NewProxyPreparedStatetate () . java: 105) на сайте org.hibernate.persister.e ntity.AbstractEntityPersister.insert (AbstractEntityPersister. java: 1968) в org.hibernate.persister.entity.AbstractEntityPersister.insert (AbstractEntityPersister. java: 2405) в org.hibernate.action.EntityIdentityInsertAsertInsertAsert (InsertAsert). *: 37) в org.hibernate.engine.ActionQueue.execute (ActionQueue. java: 248) в org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate (AbstractSaveEventListener. java: 269) в org.hiber. с . java: 186) в org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId (DefaultSaveEventListener. java: 33) в org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entitys t (DefaultSaveOrUpdateEventListener. java: 175) по адресу org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate (DefaultSaveEventListener. java: 27) по адресу org.hibernate.event.def.DefaultSaveeateeventLventOventPortOventPlayerUventRuserventUventRuserventUventRuserventUventPlayerUventRuserventUvent.Up.exe 70) в org.hibernate.impl.SessionImpl.fireSave (SessionImpl. java: 530) в org.hibernate.impl.SessionImpl.save (SessionImpl. java: 518) в org.hibernate.impl.SessionImpl.save (SessionImpl. java: 514) в org.springframework.orm.hibernate3.HibernateTemplate $ 12.doInHibernate (HibernateTemplate. java: 617) в org.springframework.orm.hibernate3.HibernateTemplate.execute (HibernateTemplate. 366) в org.springframework.orm.hibernate3.HibernateTemplate.save (HibernateTemplate. java: 614)
Моя таблица:
*CREATE TABLE `g_activiy_daylog` (
`dl_ind` int(10) unsigned NOT NULL AUTO_INCREMENT,
`usr_ind` int(10) unsigned NOT NULL DEFAULT ''0'',
`dl_str_dt` datetime NOT NULL DEFAULT ''0000-00-00 00:00:00'',
`dl_end_dt` datetime DEFAULT NULL,
`reg_key` varchar(145) DEFAULT NULL,
PRIMARY KEY (`dl_ind`),
)*