实体查询

Hibernate SQL查询 addScalar()或addEntity()

▼魔方 西西 提交于 2019-12-09 13:11:07
Hibernate除了支持HQL查询外,还支持原生SQL查询。 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。该接口是Query接口的子接口。 执行SQL查询步骤如下: 1、获取Hibernate Session对象 2、编写SQL语句 3、通过Session的createSQLQuery方法创建查询对象 4、调用SQLQuery对象的addScalar()或addEntity()方法将选出的结果与标量值或实体进行关联,分别用于进行标量查询或实体查询 5、如果SQL语句包含参数,调用Query的setXxxx方法为参数赋值 6、调用Query的list方法返回查询的结果集 一、标量查询 最基本的SQL查询就是获得一个标量的列表: session.createSQLQuery("select * from person_inf").list(); session.createSQLQuery("select id,name,age from person_inf").list(); 它们都将返回一个Object数组组成的List,数组每个元素都是person_inf表的一个字段值。Hibernate会使用ResultSetMetadata来判定返回的标量值的实际顺序和类型。