一、用Mysql5.6出现时间问题Incorrect datetime value: '' for column 'oper_date'
将数据库 mysql 升级到到 5.6 后, 我使用 Hibernate新增记录时,如果包含 Date 类型的字段,则会报错.
解决办法:统一tomcat中mysql-connector.jar包和项目中jar包
能运行通过的环境:
JAVA7 mysql5.6 mysql-connector-java-5.1.29
二、导入web项目时jar包更新问题:
1.buildpath下更新JRE
2.在tomcat和项目中添加mysql.jar
3.项目中添加runtimeserver.jar
注:我这里复制粘贴的jar包没有显示加载符号,但是实际上已经加载了
三、在BaseHibernateService中,有这么一段代码:
protected void saveOrUpdate(Object object) {
// LogInfo log = (LogInfo)object;
// System.out.println("==============second===================");
// System.out.println("The date is: " +log.getOperDate());
// System.out.println("The type is: "+log.getOperDate().getClass().getName());
// System.out.println("timestamp: " +Timestamp.class.getName());
this.getHibernateTemplate().saveOrUpdate(object);
}
比如上层Log类和User类都会在服务层当作参数调用这个方法,接受参数的是一个对象。
从我的注释可以看到,一开始我是认为父类引用指向子类对象,储存的时候应该是要扩充成子类的,但是事实上我们存储的时候所有子类的信息都还是有的,只是如果要在程序代码段中调用的话才需要扩充成真的对象。当然了,这是我是自己的理解