创建映射文件时,是否将属性映射到字段或属性:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Foo" namespace="Foo.Bar" >
<class name="Foo" table="FOOS" batch-size="100">
[...]
<property name="FooProperty1" access="field.camelcase" column="FOO_1" type="string" length="50" />
<property name="FooProperty2" column="FOO_2" type="string" length="50" />
[...]
</class>
</hibernate-mapping>
当然,请解释原因:)
通常,我映射到属性,但是映射到字段可以使属性的getter/setter中加入一些“逻辑”。
映射到字段是否“不好”?有最佳实践吗?
最佳答案
我映射到属性。如果我认为有必要,可以将SETTER映射到一个字段。 (通常通过“access = field.camelcase”之类的方式)。
这使我拥有美观的查询,例如“来自FirstName ='John'的人”,而不是“From FirstName/_firstName的人”,并且在给实体充水时也避免了setter逻辑。