我必须将属性映射到一列
<class name="Account" table="list">
...
<property name="creationDate" type="jodaTime" column="accdatetm" insert="false" update="false"/>
<property name="anotherDate" type="jodaTime" column="accdatetm" insert="false" update="false"/>
creationDate
在Account
类
anotherDate
没有Account
类
我收到了错误
PropertyNotFoundException: Could not find a getter for anotherDate
如果我不想要财产的getter和setter,但想拥有一个属性,我该怎么办?
答案 0 :(得分:1)
如果我不想要财产的getter和setter,但想拥有一个属性,我该怎么办?
改变主意,最好使用getter和setter进行封装并保持bean标准。
答案 1 :(得分:0)
如果你想以任何方式交互/显示数据库字段“createDate”或“anotherDate”,你将需要一个getter。 Hibernate假定您将使用已声明的属性,并告诉您没有支持的方法可以在不创建getter的情况下使用它。如果您不想使用db字段,则不要将其作为XML映射中的属性包含在内。如果这不能解答您的问题,请通过引用数据库中听起来不像您想要使用的字段,向我提供有关您要完成的更多详细信息。希望这可以帮助。
答案 2 :(得分:0)
您可能知道,Hibernate允许您指定字段或属性访问权限。检查this,但不能混合使用同一个实体。如果您想混合,请按照上面链接中的说明实施您自己的org.hibernate.property.PropertyAccessor
。当没有找到getter或setter时,你可以从org.hibernate.property.BasicPropertyAccessor
开始并委托给org.hibernate.property.DirectPropertyAccessor
。
正如其他人的建议,遵循一个惯例而不是经历所有这些更简单,但有时你无法避免疯狂的情况:)