创建映射文件时,是否将属性映射到字段或属性:

<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逻辑。

10-05 20:41
查看更多