Hibernate中日期类型的插入问题
环境:JDK1.4.2,TOMCAT5.0.28,ORACLE9i,HIBERNATE3
表结构:
admin_id,admin_name,admin_password,admin_logondate
admin_id为主键,采用序列进行自增;admin_name,admin_password为varchar2,admin_logondate为date,默认值为sysdate,都不允许为空
对象关系映射文件
对ADMIN_LOGONDATE字段
<property name="adminLogondate" type="date">
<column name="ADMIN_LOGONDATE" length="7" not-null="true" />
</property>
在类文件中
Date logonDate = new Date();
System.out.println(logonDate.toString());
BlogSystemadmin blogSystemadmin = new BlogSystemadmin();
SystemAdmin systemAdmin = new SystemAdmin();
blogSystemadmin.setAdminName("lixiyao");
blogSystemadmin.setAdminPassword("password");
blogSystemadmin.setAdminLogondate(logonDate);
try {
systemAdmin.saveSystemadmin(blogSystemadmin);
} catch (Exception e) {
e.printStackTrace();
}
新增的记录ADMIN_LOGONDATE的值只是yyyy-mm-dd格式,我想要得到yyyy-mm-dd hh:mi:ss该如何做呢?
还有,既然ADMIN_LOGONDATE有默认值,如果把blogSystemadmin.setAdminLogondate(logonDate);这句去掉就会出错,org.hibernate.PropertyValueException: not-null property references a null or transient value: com.javablog.systemadmin.BlogSystemadmin.adminLogondate
既然not-null ,那就把对象关系映射文件中的ADMIN_LOGONDATE的not-null改成false,但是同样会出错:org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update。无法将 NULL 插入 ("JAVABLOG"."BLOG_SYSTEMADMIN"."ADMIN_LOGONDATE")
请大家指点一二