Hibernate:我可以返回包含List的非映射对象列表吗?

时间:2012-12-01 03:25:34

标签: hibernate native-sql resulttransformer

我目前使用.addScalar和ResultTransformer返回没有任何List变量的非映射对象列表。我想修改我的对象以包含List。

按照Hibernate文档中的初始示例提供,我成功完成了类似于:

的操作
sess.createSQLQuery("SELECT ID as id, NM_CDE as nameCode, NM_VALUE as nameValue FROM EMP")
 .addScalar("id", Hibernate.LONG)
 .addScalar("nameCode", Hibernate.STRING)
 .addScalar("nameValue", Hibernate.STRING)
 .setResultTransformer(Transformers.aliasToBean(Employee.class))

假设数据是:

  ID    NM_CDE          NM_VALUE
  1     LEGAL           John Allan Doe
  1     NICKNM          Johnny
  1     FORMATTED       Doe, John

假设上面的假设数据,我想要返回一个对象,而不是返回3个对象。假设的Employee.class将更新为包含Name对象列表。

此:

private Long id;
private String nameCode;
private String nameValue;

将替换为:

private Long id;
private List<EmpName> empNameList;

但是如何更新本机SQL和/或Hibernate语句?这甚至可能吗?

0 个答案:

没有答案