EJB 環境  その後、(2) | 広島で働くアフロなSE・PGの覚え書。

EJB 環境  その後、(2)

前回のつづき。


-----


package jp.afrofair.ejb.dao;


import java.util.Date;
import java.util.List;


import javax.ejb.Remote;


import jp.afrofair.ejb.entity.M_holiday;
import jp.afrofair.ejb.entity.M_holidayPk;


@Remote
public interface M_holidayDao
{
/**
* 作成処理です。
*/
M_holiday create(
M_holidayPk pk,
Long year,
Long month,
Long day,
String holidayName
);

/**
* 作成処理です。
*/
M_holiday create(M_holiday eo);


/**
* 主キー検索です。
*/
M_holiday findById(M_holidayPk pk);


/**
* 更新処理です。
*/
void update(M_holiday eo);


/**
* 削除処理です。
*/
void delete(M_holiday eo);


/**
* 休日マスタ一覧取得処理です。
*/
List<M_holiday> list();

}


-----


package jp.afrofair.ejb.dao;


import java.util.Date;
import java.util.List;


import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;


import jp.afrofair.ejb.entity.M_holiday;
import jp.afrofair.ejb.entity.M_holidayPk;


import static javax.ejb.TransactionAttributeType.*;


@Stateless
@TransactionAttribute(REQUIRED)
public class M_holidayDaoBean implements M_holidayDao
{
/**
* エンティティマネージャです。
*/
private EntityManager entityMgr;


/**
* エンティティマネージャを設定します。
* @param entityMgr エンティティマネージャ
*/
@PersistenceContext(unitName="ejb3sample")
public void setEntityManager(EntityManager entityMgr)
{
this.entityMgr = entityMgr;
}


/**
* 作成処理です。
*/
public M_holiday create(
M_holidayPk pk,
Long year,
Long month,
Long day,
String holidayName
) {
M_holiday eo = new M_holiday(
pk,
year,
month,
day,
holidayName
);
entityMgr.persist(eo);
return eo;
}


/**
* 作成処理です。
*/
public M_holiday create(M_holiday eo)
{
entityMgr.persist(eo);
return eo;
}

/**
* 主キー検索です。
*/
public M_holiday findById(M_holidayPk pk)
{
return entityMgr.find(M_holiday.class, pk);
}


/**
* 更新処理です。
*/
public void update(M_holiday eo)
{
entityMgr.merge(eo);
}


/**
* 削除処理です。
*/
public void delete(M_holiday eo)
{
M_holiday mergedEo = entityMgr.merge(eo);
entityMgr.remove(mergedEo);
}


/**
* 休日マスタ一覧取得処理です。
*/
@SuppressWarnings("unchecked")
public List<M_holiday> list()
{
Query query = entityMgr.createQuery("SELECT p FROM M_holiday p");
return query.getResultList();
}

}


-----