企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 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)的信息。