![](/img/trans.png)
[英]Hibernate entity attribute with getter, but without setter: PropertyNotFoundException
[英]hibernate map member's field directly without setter/getter
我有以下简化类型:
public class DataBean extends ZZZZZ {
public String name;
}
public class Member extends CCCCC {
public DataBean m_data;
}
我想映射m_data
。 直接在Member
name
。 我不能在两者之间使用任何形式的继承(已被占用!)。
这将是理想的 :
<property name="m_data.name" column="name" type="string" access="field" />
任何想法? Hibernate有可能吗?
目前,我收到此错误:
org.hibernate.PropertyNotFoundException:在com.example.Member上找不到字段[m_data.name]
主要原因是我试图(重新)使用从http服务获取的数据bean,而且我真的不想重写所有字段,也不想编写setter / getter。
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.