2

エンティティを管理したエンティティ マネージャに到達する方法。つまり; 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);
4

1 に答える 1