多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 10.4.4\. 使用原生SQL的查询 你可以使用`createSQLQuery()`方法,用SQL来描述查询,并由Hibernate将结果集转换成对象。 请注意,你可以在任何时候调用`session.connection()`来获得并使用JDBC `Connection`对象。 如果你选择使用Hibernate的API, 你必须把SQL别名用大括号包围起来: ``` List cats = session.createSQLQuery( "SELECT {cat.*} FROM CAT {cat} WHERE ROWNUM<10", "cat", Cat.class ).list(); ``` ``` List cats = session.createSQLQuery( "SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, " + "{cat}.MATE AS {cat.mate}, {cat}.SUBCLASS AS {cat.class}, ... " + "FROM CAT {cat} WHERE ROWNUM<10", "cat", Cat.class ).list() ``` 和Hibernate查询一样,SQL查询也可以包含命名参数和占位参数。 可以在[第 16 章 _Native SQL查询_](../Text/pr01_split_000.html "第 16 章 Native SQL查询")找到更多关于Hibernate中原生SQL(native SQL)的信息。