Jakarta ee JPA实体静态记录器
我的问题是,我可以在JPA实体中使用静态记录器,还是会导致一些问题? 我想这样做(记录器是log4j):Jakarta ee JPA实体静态记录器,jakarta-ee,jpa,logging,static,log4j,Jakarta Ee,Jpa,Logging,Static,Log4j,我的问题是,我可以在JPA实体中使用静态记录器,还是会导致一些问题? 我想这样做(记录器是log4j): 对于标准JPA,静态字段不会持久化,最终字段也不会持久化,因此这不是问题,如果我使用cache:@cache(usage=cacheconcurrencysttrategy.READ\u-WRITE),该怎么办?事实上,我们有一些内存泄漏,堆转储显示了这个实体…类被初始化,它创建了一个记录器,这就是所有的。持久化进程(无论您使用哪个JPA impl)都不应该对它做任何事情(DataNucle
对于标准JPA,静态字段不会持久化,最终字段也不会持久化,因此这不是问题,如果我使用cache:@cache(usage=cacheconcurrencysttrategy.READ\u-WRITE),该怎么办?事实上,我们有一些内存泄漏,堆转储显示了这个实体…类被初始化,它创建了一个记录器,这就是所有的。持久化进程(无论您使用哪个JPA impl)都不应该对它做任何事情(DataNucleus JPA当然不会)。如果您的记录器不是静态的,请使用@Transient。看见
@Entity
public class AlertRule implements Serializable {
/**
* Serial version ID.
*/
private static final long serialVersionUID = 9000392523924653431L;
/**Logger. */
transient private static final Logger LOGGER = Logger.getLogger(AlertRule.class);
/**
* ID.
*/
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
/**
* Rule name.
*/
@NotNull
private String name;
...