没有使用session对象获取createStoredProcedureQuery方法

时间:2018-03-14 08:22:25

标签: hibernate

session.createStoredProcedureQuery("procedureName");

我只获得session.createSQLQuery

的pom.xml

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.12.Final</version>         
    </dependency>

我想用它来执行存储过程。

2 个答案:

答案 0 :(得分:0)

如果您在documentation查看Session对象,您会注意到您正在寻找的方法不存在。如果需要使用Hibernate运行存储过程,可以使用here中描述的方法之一。

答案 1 :(得分:0)

方法session.createStoredProcedureQuery("procedureName");在hibernate中不可用.Hibernate允许直接表示本机SQL格式的查询。因此,我们可以直接创建本机SQL查询,并使用CALL语句调用存储过程,如下所示:

Query query = session.createSQLQuery("CALL yourStoreProcedure()").addEntity(SomeEntity.class);
List<SomeEntity> allData = query.list();

其中addEntity()方法从本机SQL查询中获取实体对象。