Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改休眠数据类型_Java_Hibernate_Jsp - Fatal编程技术网

Java 更改休眠数据类型

Java 更改休眠数据类型,java,hibernate,jsp,Java,Hibernate,Jsp,我正在开发一个应用程序,它充分利用了Hibernate的功能。然而,昨天我想要将数据库中的一列(注释日期)从date更改为DateTime 我有一个方法可以从数据库中检索所有注释并将它们显示在表中。但是,由于我更改了数据类型,因此不再工作 我该怎么办 List<Comments> cmts = new CommentsHelper().getAllComments(); out.println("<table class=\"tableC\"><tr>

我正在开发一个应用程序,它充分利用了Hibernate的功能。然而,昨天我想要将数据库中的一列(注释日期)从
date
更改为
DateTime

我有一个方法可以从数据库中检索所有注释并将它们显示在表中。但是,由于我更改了数据类型,因此不再工作

我该怎么办

List<Comments> cmts = new CommentsHelper().getAllComments();

    out.println("<table class=\"tableC\"><tr><th class=\"name\" >User</th><th class=\"date\">Date</th><th class=\"comment\">Comment</th></tr>");

    for (Comments c : cmts)
    {
还请注意,我已尝试将
commentDate
类(由Hibernate生成)中的
commentDate
类型从
Date
更改为
DateTime
,但显示了错误“找不到符号”。

new CommentsHelper().getAllComments();
正在返回一个

List<Comments>
您需要一个.addEntity(Comments.class);在您的Hibernate代码中

session.createSQLQuery("SELECT * FROM Comments Order BY CommentDate")
    .addEntity(Comments.class).list();

DateTime
是一个jodatime类(对吧?),hibernate无法将数据库时间戳映射到
DateTime
现成的。标准行为是hibernate序列化对象(
DateTime
is
Serializable
),并将其映射到数据库上类似blob的结构。那可能不是你想要的


但是有一个非常简单的解决方案:添加到项目中(并添加一些hibernate属性,如文档中所述)。然后将数据库时间戳直接映射到实体上的jodatime类。

您的代码完成了吗?我想你错过了“for(Comments c:cmts)”片段的公共列表getAllComments()之后的代码{List Comments=null;org.hibernate.Transaction tx=session.beginTransaction();Comments=session.createSQLQuery(“按CommentDate从注释顺序选择*).List();if(Comments.size()>0){return comments;}return null;}'您需要一个.addEntity(comments.class);在您的Hibernate代码.session.createSQLQuery(“按CommentDate从注释顺序选择*).addEntity(comments.class).list()中;
List
session.createSQLQuery("SELECT * FROM Comments Order BY CommentDate")
    .addEntity(Comments.class).list();