【问题标题】:hibernate detached criteria - How to add a native sql statement休眠分离条件 - 如何添加本机 sql 语句
【发布时间】:2012-11-13 07:40:22
【问题描述】:
您好,我有一个很大的问题。我有一个 DetachedCriteria,我将其命名为 dc。我是这样声明的DetachedCriteria dc = getDetachedCriteria()。我想在 order by 之前添加一个排序规则语句。排序的目的是处理ñ。我要添加的语句是COLLATE utf8_spanish_ci。我是这样做的dc.add(Restrictions.sqlRestriction(" COLLATE utf8_spanish_ci "))。当然我得到了一个错误,因为这是错误的。我不知道该怎么做。请帮忙。
【问题讨论】:
标签:
mysql
spring
hibernate
detachedcriteria
【解决方案1】:
您可以执行本机 SQL 查询以利用您的特定数据库功能,这就是在 hibernate 中使用分离条件完成的方式...
List<YourEntity> list = (List<YourEntity>) yourEntityDAO.getHibernateTemplate().execute(
new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException {
SQLQuery sq = session.createSQLQuery("SELECT * FROM MY_TABLE");
return sq.addEntity(YourEntity.class).list();
}
});