0

Hibernate で単純な Pojo を取得したとき、たとえば User:

private class User{
   private String name;
}

「名前」のプロパティを取得したい場合は、次のようにします。

sessionFactory.getClassMetadata(User.class).getPropertyType("name")

しかし、ユーザーにクラス Grou を追加すると、次のようになります。

private class User{
   private String name;
   private Group group;
}

私の以前のコード:

  sessionFactory.getClassMetadata(User.class).getPropertyType("group.name")

動作しません。それを解決する方法はありますか?

4

2 に答える 2

0

クエリgroup.nameを対応する部分groupとに分割しますname

Class<?> currentClass = User.class;
for(String field: "group.name".split("\\Q.\\E")) {
    currentClass = sessionFactory.getClassMetadata(currentClass).getPropertyType(field);
}
于 2012-10-31T11:23:12.600 に答える
0

group.name機能するには、Group クラスのマッピングも指定する必要があります。すでにマッピングを指定しても機能しない場合は、ここでマッピング ファイルを共有してください。問題はマッピングのみにある可能性があります。

于 2012-10-31T12:45:01.607 に答える