嗨,我有一个很大的问题。我有一个 DetachedCriteria,我将它命名为 dc
。我是这样声明的 DetachedCriteria dc = getDetachedCriteria()
。我想在 order by 之前添加一个 collation 语句。整理的目的是处理ñ
。我要添加的语句是 COLLATE utf8_spanish_ci
。我是这样做的 dc.add(Restrictions.sqlRestriction("COLLATE utf8_spanish_ci "))
。当然我得到了一个错误,因为这是错误的。我不知道该怎么做。请帮忙。
最佳答案
您可以执行 native 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();
}
});
关于mysql - hibernate 分离条件 - 如何添加 native sql 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357052/