Chr*_*ris 19 java annotations hibernate
我把hibernate注释放在哪里?
它是我的实例变量之上的行吗?或者在吸气器之前?或者在二传手之前?或者它真的不重要吗?
非常感谢
Pas*_*ent 22
您将它们放在场上或吸气剂上.从Hibernate Annotations参考指南:
2.2.1.将POJO标记为持久实体
(......)
根据您是否注释字段或方法,Hibernate使用的访问类型将是字段或属性.EJB3规范要求您对要访问的元素类型声明注释,即如果使用属性访问则使用getter方法,如果使用字段访问,则为字段.应避免在两个字段和方法中混合注释.Hibernate将从@Id或@EmbeddedId的位置猜测访问类型.
您可能还想了解@Access允许强制/覆盖访问类型的注释(在Hibernate Annotations 3.5和JPA 2.0之前,它是Hibernate Annotation Extensions的一部分):
2.2.2.2.访问类型
默认情况下,类层次结构的访问类型由@Id或@EmbeddedId注释的位置定义.如果这些注释位于某个字段上,则只考虑字段的持久性,并通过该字段访问该状态.如果注释在getter上,那么只考虑getter持久性,并通过getter/setter访问状态.这在实践中运作良好,是推荐的方法.
注意
在类层次结构中放置注释必须是一致的(字段或属性)才能确定默认访问类型.建议在整个应用程序中坚持使用一个单一的注释放置策略.
但是在某些情况下,您需要:
- 强制实体层次结构的访问类型
- 覆盖类层次结构中特定实体的访问类型
- 覆盖可嵌入类型的访问类型
最佳用例是可能不使用相同访问类型的多个实体使用的可嵌入类.在这种情况下,最好强制使用可嵌入类级别的访问类型.
(......)
关于两种风格的利弊,我建议阅读以下问题:
| 归档时间: |
|
| 查看次数: |
10743 次 |
| 最近记录: |