JPA中@Access注释的用途是什么意思在实体级别?

时间:2013-10-09 06:40:44

标签: java jpa java-ee

我看到了一个实体的 @ javax.persistence.Access(javax.persistence.AccessType.FIELD) 。 这是什么意思?是否真的需要为实体声明@Access。

1 个答案:

答案 0 :(得分:10)

不,它不是必需的,但可能有用。 @Access用于指定JPA必须如何访问(获取和设置)实体的映射属性。如果访问类型设置为FIELD,则将直接在字段上读取/设置值,绕过getter和setter。如果设置为PROPERTY,则使用getter和setter来访问字段值。

默认情况下(至少使用Hibernate),如果@Id注释位于字段上,则使用FIELD;如果@Id注释位于getter上,则使用PROPERTY。