1

現在、.addScalar と ResultTransformer を使用して、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 つのオブジェクトが返される代わりに、上記の仮想データを想定して、1 つのオブジェクトが返されるようにします。仮想の Employee.class は、Name オブジェクトの List を含むように更新されます。

これ:

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

次のものに置き換えられます。

private Long id;
private List<EmpName> empNameList;

しかし、ネイティブ SQL や Hibernate ステートメントはどのように更新する必要があるのでしょうか? これは可能ですか?

4

0 に答える 0