我目前使用.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语句?这甚至可能吗?