在一篇关于JPA的课程中,他们说:
JPA使用异常配置进行默认关系映射
在这个例子中:
@Entity public class Student { @Id private Long id; private String name; private Float rollno; public Student() { } //set of setters and getters }
他们说:
如果您不提供@Entity和@Id注释,那么学生将表现得像POJO并且不会被持久化.
我需要一些帮助来理解在这种情况下使用Exception这个词.
JPA中的Exception配置是什么?
"例外"一词的意思是"与众不同".因此,"按异常配置"意味着您指定某种默认方式来完成任务,然后如果在代码中的某个特定位置,您希望以不同方式完成某些操作,那么您只能在该位置提供其他配置.因此,基本上,只有需要不同寻常的地方才需要接收额外的配置.
因此,例如,当您注释JPA实体时,@Access( AccessType.FIELD )
您说JPA在整个实体中使用的默认访问机制应该是字段访问.这意味着JPA应该通过直接访问您的类的字段来保持您的类.但是如果在你班级的某个时刻你有一个你想要JPA而不是字段的getter,那么你可以@Access( AccessType.PROPERTY )
在那个getter上指定一个额外的注释,JPA将使用该getter.
类似地,对于JPA支持的大多数配置选项,存在默认行为,但您始终可以通过根据具体情况提供额外注释来覆盖此默认行为.
与异常配置相反的是,如果JPA要求您为每个字段和getter指定访问类型,这将非常繁琐,或者如果JPA要求您提前指定所有配置而不允许您选择不同的东西根据具体情况而定.