エンティティを管理したエンティティ マネージャに到達する方法。つまり; sessionBean にエンティティ参照があるとします。このエンティティの entityManager を取得するにはどうすればよいですか? 私はすでに試しました(getEntityManagerOfEntity()メソッドを参照してください)emのメソッドが含まれています。しかし、それは機能しません。
Thx bgrds
@Stateless(name = "MainManager", mappedName = "MainManager")
@TransactionManagement(TransactionManagementType.CONTAINER)
@Interceptors(value = { PerformanceMonitor.class, ProfileInterceptor.class })
public class MainManagerBean implements MainManager, MainManagerLocal
{
private Logger logger = Logger.getLogger(this.getClass());
@PersistenceContext(unitName = "DSApp")
private EntityManager manager;
@PersistenceContext(unitName = "DSIX")
private EntityManager integrationManager;
@Resource
SessionContext ctx;
public EntityManager getEntityManagerOfEntity(SuperEntity superEntity)
{
if (manager.contains(superEntity))
return manager;
else if (integrationManager.contains(superEntity))
return integrationManager;
return null;
}
public SuperEntity findByPrimaryKey(SuperEntity superEntity)
{
getEntityManagerOfEntity(superEntity).setFlushMode(FlushModeType.COMMIT);
return dao.findByPrimaryKey(getEntityManagerOfEntity(superEntity), superEntity);