hibernate注释应该放在哪里?
它是我的实例变量上方的线吗?还是在吸气剂之前?还是在二传手之前?还是真的不重要吗?
非常感谢
您可以将它们放在 野外 或 吸气剂上 。从《 Hibernate注释参考指南》中:
2.2.1。将POJO标记为持久实体 (…) 根据您是否注释字段或方法,Hibernate使用的访问类型将是字段或属性。EJB3规范要求您在将要访问的元素类型上声明注释,即,如果使用属性访问,则为getter方法;如果使用字段访问,则为字段。应避免在字段和方法中混合使用注释。Hibernate将从@Id或@EmbeddedId的位置猜测访问类型。
2.2.1。将POJO标记为持久实体
(…)
根据您是否注释字段或方法,Hibernate使用的访问类型将是字段或属性。EJB3规范要求您在将要访问的元素类型上声明注释,即,如果使用属性访问,则为getter方法;如果使用字段访问,则为字段。应避免在字段和方法中混合使用注释。Hibernate将从@Id或@EmbeddedId的位置猜测访问类型。
您可能还想阅读有关@Access允许强制/覆盖访问类型的注释(在Hibernate Annotation 3.5和JPA 2.0之前,它是Hibernate Annotation Extensions的一部分):
@Access
2.2.2.2。访问类型 默认情况下,类层次结构的访问类型由@Id或@EmbeddedId批注的位置定义。如果这些注释在字段上,则仅考虑字段的持久性,并通过字段访问状态。如果在getter上有注释,则仅考虑getter的持久性,并通过getter / setter访问状态。这在实践中效果很好,是推荐的方法。 注意 在类层次结构中,注释的位置必须一致(字段或属性),以便能够确定默认访问类型。建议在整个应用程序中坚持一种注解放置策略。 但是,在某些情况下,您需要: 强制实体层次结构的访问类型 覆盖类层次结构中特定实体的访问类型 覆盖可嵌入类型的访问类型 最好的用例是由几个可能不使用相同访问类型的实体使用的可嵌入类。在这种情况下,最好将访问类型强制为可嵌入的类级别。 (…)
2.2.2.2。访问类型
默认情况下,类层次结构的访问类型由@Id或@EmbeddedId批注的位置定义。如果这些注释在字段上,则仅考虑字段的持久性,并通过字段访问状态。如果在getter上有注释,则仅考虑getter的持久性,并通过getter / setter访问状态。这在实践中效果很好,是推荐的方法。
注意 在类层次结构中,注释的位置必须一致(字段或属性),以便能够确定默认访问类型。建议在整个应用程序中坚持一种注解放置策略。
注意
在类层次结构中,注释的位置必须一致(字段或属性),以便能够确定默认访问类型。建议在整个应用程序中坚持一种注解放置策略。
但是,在某些情况下,您需要:
最好的用例是由几个可能不使用相同访问类型的实体使用的可嵌入类。在这种情况下,最好将访问类型强制为可嵌入的类级别。