【发布时间】:2017-10-06 16:22:51
【问题描述】:
我尝试像这样向我的Criteria 添加一些订单。
crit.addOrder(Order.asc("priority")); // Not the real property though
并使用带有 HSQLDialect 的 MsAccess 数据库在我的系统上进行测试我得到了
原因:org.hsqldb.HsqlException: ORDER BY 表达式无效
所以我尝试显示查询,它的内容如下:
Hibernate:
/* criteria query */ select
distinct this_.i_id as y0_
from
T_FIT_ARTICLE this_
where
(
this_.b_export_ready=?
or this_.d_application_deadline>=?
)
order by
this_.d_application_deadline asc limit ?
//FROM HERE THE STACK TRACE
问题是,我之前在我的集合上使用了 @OrderBy 注释,它产生了相同的查询,这很有效:
order by
elements2_.i_order_nr asc limit ?
但是使用我的实体中的属性,它会导致异常。
顺便说一句,如果我尝试使用MYSQLSERVER 测试相同的程序,它会完美运行。
知道为什么或如何避免这种情况吗?
非常感谢!
【问题讨论】:
-
为什么要使用带有 HSQLDB 方言的 MS Access 数据库?
-
@fredt 因为我通过 Ucanaccess 连接访问,并且 ucanaccess 使用这种方言,否则我尝试了 MySqlServerDialect,同样的问题:D
标签: java mysql hibernate hsqldb ucanaccess