0

在 Hibernate 中,当我得到简单的 Pojo 时,例如用户:

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 类指定映射。如果您已经指定了映射但仍然无法正常工作,请在此处共享映射文件。问题可能仅存在于映射中。

于 2012-10-31T12:45:01.607 回答
0

Split your query group.name into the corresponding parts group and 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 回答