我想对 EJB Entity Bean 字段的每次更改使用react。我所做的只是将一些代码放入 Setter 中。
我期望的是一些戏剧性的崩溃,因为每次初始化时都会调用 setter (甚至可能多次)。
发生了什么,它工作完美,只有在值更改时才调用 getter,而不是在初始化时调用。
但我想知道这是为什么?实体是通过反射初始化的吗?
最佳答案
这取决于访问类型。如果所有映射注释都放在字段上,JPA 会直接设置字段,而不经过 setter,并直接从字段中读取实体的状态。
如果映射注释位于 getter 上,JPA 使用 setter 来填充实体,并使用 getter 来检索其状态。
可以使用 Access 自定义访问类型注释。
关于java - 何时调用 EJB 实体 setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17613579/