首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

hibernate不支持“:=”这样的sql语句?该如何处理

2013-11-29 
hibernate不支持“:”这样的sql语句?我需要实现一个排序功能,用hibernate直接调用sql语句,在sql语句里有这

hibernate不支持“:=”这样的sql语句?
我需要实现一个排序功能,用hibernate直接调用sql语句,在sql语句里有这样的语法 @a:=@a+1
但是:在hibernate里是一个占位符,不支持这样的语法,该怎么办?
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

我需要实现一个排序功能,用hibernate直接调用sql语句,在sql语句里有这样的语法 @a:=@a+1
但是:在hibernate里是一个占位符,不支持这样的语法,该怎么办?


扯淡,那是你SQLServer自己发明的语言,SQL里没这东西。

你到底懂不懂,mysql里就有这东西,非set语句赋值必须用:=


SQL在所有关系型数据库通用。Orm框架也支持。

数据库除了SQL还支持自己的扩展语言
Oracle这种东西叫PL/SQL SQLServer 叫T-SQL Mysql基本照抄T-SQL。
没有orm框架支持这些玩意,除非你封装成过程。

你到底懂不懂?


[解决办法]
Session session = HibernateSessionFactory.getSession();
Criteria criteria = session.createCriteria(UserInfo.class);
criteria.add(Restrictions.and(Restrictions.eq("userName", "sunqi");
for (Object o : criteria.list()) {
   System.out.println((UserInfo) o);
}

试试这个

热点排行