Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee JPA实体静态记录器_Jakarta Ee_Jpa_Logging_Static_Log4j - Fatal编程技术网

Jakarta ee JPA实体静态记录器

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实体中使用静态记录器,还是会导致一些问题? 我想这样做(记录器是log4j):


对于标准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;

...