0 0

hibernate HQL能够使用数据库表字段进行查询?0

比如数据库表叫Users 里面有字段userid ,username
对应实体类User ,属性 id ,name
hql 语句通过id查询用户
from User where userid = 1
居然能够查出来,不是说HQL是通过对象及对象属性操作,不能使用数据库表或字段操作吗?
2014年11月01日 16:03

3个答案 按时间排序 按投票排序

0 0

hql

select new User(id,name) from User where id=1

User类里面要新增一下的构造方法
public User(Long id,String name){
   this.id=id;
   this.name=name;
}

2014年11月04日 14:51
0 0

感觉没回答到位,这是一个标准的HQL语句,其实就是java类的字段啊,和sql字段没关系。

2014年11月03日 16:38
0 0

其实这个百度一下 了解的很全面。  HQL是针java类字段的 ,就看 java字段和数据库字段是不是一样了。 他是用的 java类的字段名,hibernate默认使用字段名作为数据库字段名,有些映射框架不是。而且 可以定制规则, 字段注释 上可以指定数据库字段名,为了可以迁移 ,最好指定映射的数据库字段名。 因为 我们不能保证我们不使用原生的SQL执行查询,如果更换ORM框架 将会导致不可预知的问题。


要想使用数据库字段,必须使用sql语句,hibernate支持使用sql。

2014年11月03日 16:31

相关推荐

Global site tag (gtag.js) - Google Analytics