Metadata.create 之后在实体实例上设置瞬态属性的最佳方法
Best way to set transient attribute on entity instance after Metadata.create
我目前正在设置 jpql 查询的结果 在瞬态属性e 的几个实体实例上使用BeforeDetachEntityListener。
由于我也在使用 Metadata.create 来创建它们,我希望能够在创建它们后进行相同的操作。处理这种情况的最佳方法是什么?
您可以使用 @PostConstruct
在创建对象时设置值
public class MyEntity extends StandardEntity {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "USER_ID")
protected User creator;
@PostConstruct
protected void init() {
setCreator(AppBeans.get(UserSessionSource.class).getUserSession().getUser());
}
}
有关如何在实体中初始化数据的更多信息,请参阅 5.8.3.1 Entity Fields Initialization and 5.8.3 Assigning Initial Values
上的文档
我目前正在设置 jpql 查询的结果 在瞬态属性e 的几个实体实例上使用BeforeDetachEntityListener。 由于我也在使用 Metadata.create 来创建它们,我希望能够在创建它们后进行相同的操作。处理这种情况的最佳方法是什么?
您可以使用 @PostConstruct
public class MyEntity extends StandardEntity {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "USER_ID")
protected User creator;
@PostConstruct
protected void init() {
setCreator(AppBeans.get(UserSessionSource.class).getUserSession().getUser());
}
}
有关如何在实体中初始化数据的更多信息,请参阅 5.8.3.1 Entity Fields Initialization and 5.8.3 Assigning Initial Values
上的文档