hibernate map member的字段直接没有setter/getter

Pon*_*oni 1 java orm hibernate

我有这些简化类型:

public class DataBean extends ZZZZZ {
    public String   name;
}

public class Member extends CCCCC {
    public DataBean m_data;
}
Run Code Online (Sandbox Code Playgroud)

我想要地图m_data.name直接在Member.我不能在两者之间使用任何类型的继承(已经被占用!).

将是理想的:

<property name="m_data.name" column="name" type="string" access="field" />
Run Code Online (Sandbox Code Playgroud)

任何的想法?是否可以使用Hibernate?

目前我收到此错误:

org.hibernate.PropertyNotFoundException:com.example.Member上找不到字段[m_data.name]

主要原因是我正在尝试(重新)使用从http服务中获取的数据bean,我真的不想重写所有字段,也不想编写setter/getter.

Bhe*_*ung 6

name物业实际上是在DataBean课堂上.所以,你得到的例外是显而易见的.因为映射是为了Member.

DataBean嵌入Member和田野中,你必须使用嵌入类映射<component>元素.

请在SO:Hibernate @embeddable注释等效的XML映射文件中参考这个问题的答案

答案还有一个指向页面的链接,该页面解释了嵌入对象是如何映射它们的.

更新:

<component
        name="m_data"
        class="com.example.DemoBean"
        access="field">
    <property name="name" column="NAME" type="string" access="field" />
</component>
Run Code Online (Sandbox Code Playgroud)