【发布时间】:2014-04-13 20:04:01
【问题描述】:
有没有办法覆盖EclipseLink提供的EntityManager?
我想覆盖 EclipseLink's EntityManager.remove() 方法 - 我不想要物理移除(只有逻辑)。
很容易扩展适当的EntityManager:
public class MyEntityManager extends org.eclipse.persistence.internal.jpa.EntityManagerImpl {
public MyEntityManager(String sessionName) {
super(sessionName);
}
public void remove(Object entity) {
AbstractEntity en = (AbstractEntity)entity;
en.setAuditRD(33333);
this.merge(en);
}
}
但是如何将其传递到 EclipseLink 的工厂以创建 MyEntityManager 而不是 org.eclipse.persistence.internal.jpa.EntityManagerImpl?也许有什么参数,我可以在persistence.xml文件中传递?
【问题讨论】:
标签: java jpa eclipselink overriding