【发布时间】:2019-08-09 05:53:33
【问题描述】:
据我所知,Hibernate 提供了两种访问策略:FIELD 和 PROPERTY。可以通过在实体上方设置注解@Access来定义它,但是在实现过程中每次都用策略设置@Access有点令人沮丧。有没有办法在整个应用程序上设置“全局”访问策略?
【问题讨论】:
标签: java hibernate spring-boot orm
据我所知,Hibernate 提供了两种访问策略:FIELD 和 PROPERTY。可以通过在实体上方设置注解@Access来定义它,但是在实现过程中每次都用策略设置@Access有点令人沮丧。有没有办法在整个应用程序上设置“全局”访问策略?
【问题讨论】:
标签: java hibernate spring-boot orm
我认为 Spring Boot 默认不存在这样的属性。
但是,您可以为所有实体创建一个父类,以便在类级别只定义一次 @AccessType。
文档
2.3.1 默认访问类型(第23页)
默认情况下,单一访问类型(字段或属性访问)适用于 实体层次结构。实体层次结构的默认访问类型是 由属性上映射注释的位置决定 实体层次结构的实体类和映射超类 没有明确指定访问类型。
示例
@MappedSuperclass
@Access(value=AccessType.FIELD)
public class Parent {
}
@Entity
public class Child extends Parent {
...
}
【讨论】: