Hibernate的其他几种检索方式:
1.HQL检索方式:Hibernate Query Language,采用面向对象的方式来替代标准SQL
SQL:select * from users u where u.userid= 1;
在SQL语句中定位的都是表名或者是字段名,
HQL: from Users u where u.userId = 1;
在HQL语句中定位的都是类名或者属性名。
在HQL语句中绑定参数的方式:
1,通过标示符方式绑定: :suibian
query.setString("suibina",name);
2,通过位置绑定:?
query.setString(0,name);
注意:HQL语句中是以面向对象方式来实现的。在面向对象中查数从0开始。
注意:如果在HQL语句中做投影操作那么hibernate不会在为我们返回这个对象了。而是用Object[]来存放查询出的结果。如果在投影后还非要那个对象,我们可以在HQL语句中添加个new Users(u.id,u.username)来让hibernate创建User对象,但是。Users类中一定要有对应的构造方法。
1.HQL检索方式:Hibernate Query Language,采用面向对象的方式来替代标准SQL
SQL:select * from users u where u.userid= 1;
在SQL语句中定位的都是表名或者是字段名,
HQL: from Users u where u.userId = 1;
在HQL语句中定位的都是类名或者属性名。
在HQL语句中绑定参数的方式:
1,通过标示符方式绑定: :suibian
query.setString("suibina",name);
2,通过位置绑定:?
query.setString(0,name);
注意:HQL语句中是以面向对象方式来实现的。在面向对象中查数从0开始。
注意:如果在HQL语句中做投影操作那么hibernate不会在为我们返回这个对象了。而是用Object[]来存放查询出的结果。如果在投影后还非要那个对象,我们可以在HQL语句中添加个new Users(u.id,u.username)来让hibernate创建User对象,但是。Users类中一定要有对应的构造方法。