Hibernate实体管理器:结果集映射

时间:2013-01-06 15:02:23

标签: database hibernate ibatis entitymanager hibernate-entitymanager

我是Hibernate的新手,我是iBATIS的粉丝,但我的新工作环境迫使我使用Hibernate。在我工作场所的当前场景中,有许多复杂的选择查询,我觉得hibernate处理得不好。

所以我想编写自己的原生SQL select查询,有很多很多的连接和条件。到目前为止一切都很好。

我正在使用EntityManager来触发查询并返回结果集。示例代码如下所示:

String sqlQuery="select COL_1, COL_2 from MY_TABLE_NAME";
Query q=em.createNativeQuery(sqlQuery,);
List resultList=q.getResultList();

请记住,这只是一个代码示例。我希望有一种方法可以将此示例中的结果集(COL_1和COL_2)映射到具有两个(或更多)字段的JAVA类。

另请注意,此JAVA类不能是链接到表的实体,所以我需要一种方法来将我的任何JAVA类定义为resultClass,就像我们在iBATIS中所做的那样。

有什么办法吗?所以我只是为任何JAVA类定义一个映射,并且查询的结果集自动映射到我的JAVA类

1 个答案:

答案 0 :(得分:0)

String sqlQuery="select COL_1, COL_2 from MY_TABLE_NAME";
Query q=em.createNativeQuery(sqlQuery,MY_TABLE_NAME.class);
List<MY_TABLE_NAME> resultList=q.getResultList();

在IDE调试模式下看起来变量,你会得到你想要的。