使用hibernate将日期插入sqlite db

时间:2013-05-20 09:37:35

标签: java hibernate sqlite

出于学习目的,我使用Sqlite DB以及HibernateStruts 2创建了一个简单的应用程序。在那我试图向表中插入一行 - 用户(id,mydate)。插入发生没有任何错误,但是当我从数据库中检索数据并尝试在屏幕上显示它时,它显示不正确的数据。我不知道我在做什么错。日期列的值将检索为1/1/70 5:30:02 AM.007。以下是可能与此相关的代码。

User.java

public class User implements Serializable {
     private Integer id;
     private Date mydate;
     //getters and setters
}

user.hbm.xml

<hibernate-mapping>
<class name="com.User" table="user">
    <id name="id" type="java.lang.Integer">
        <column name="id" />
        <generator class="native" />
    </id>
    <property name="mydate" type="java.util.Date">
        <column name="mydate" />
    </property>
</class>
</hibernate-mapping>

插入声明

insert into user(id,mydate) values (2,DATE('2013-04-03'));

查询方法

@Override
public User queryByUserId(Integer id) {
   return getHibernateTemplate().get(User.class, id);
}

1 个答案:

答案 0 :(得分:0)

我认为我迟到了,但我会回答你的问题:

日期必须采用以下格式:

'2000-01-01 00:00:00'

yyyy-MM-dd HH:mm:ss

和&#39; mydate&#39;的type必须是"java.sql.Date"而不是"java.util.Date"