何时调用EJB实体设置器

时间:2013-07-12 11:08:56

标签: java jpa glassfish ejb

我想对EJB Entity Bean的字段的每个更改做出反应。我所做的只是将一些代码放入Setter。

我所期待的是一些戏剧性的崩溃,因为每次初始化(甚至可能多次)都会调用setter。

反而发生了什么,它完美地工作,只有当值发生变化而不是在初始化时才会调用getter。

但我想知道为什么会这样?是通过反射初始化的吗?

1 个答案:

答案 0 :(得分:1)

取决于访问类型。如果所有映射注释都放在字段上,JPA直接设置字段,而不通过setter,并直接从字段中读取实体的状态。

如果映射注释在getter上,JPA使用setter填充实体和getter来检索它们的状态。

可以使用Access注释自定义访问类型。