特定の日付間隔ですべての MainIntervals を取得しようとしました。しかし、私は常にnullになります。
これがJPAエンティティです
@Table(name="MAIN_INTERVAL")
@NamedQueries({
@NamedQuery(name = MainInterval.FIND_ALL, query = " select m from MainInterval m"),
@NamedQuery(name = MainInterval.FIND_BETWEEN,
query = "select m from MainInterval m where m.mainIntervalStart
BETWEEN :startDate AND :endDate
AND m.mainIntervalEnd BETWEEN :startDate AND :endDate"
) })
public class MainInterval implements Serializable {
public static final String FIND_ALL = "MainInterval.findAll";
public static final String FIND_BETWEEN = "MainInterval.findBetween";
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="MAIN_INTERVAL_ID")
private Long id;
@Column(name="MAIN_INTERVAL_START")
@Temporal(javax.persistence.TemporalType.DATE)
private Date mainIntervalStart;
@Column(name="MAIN_INTERVAL_END")
@Temporal(javax.persistence.TemporalType.DATE)
private Date mainIntervalEnd; }
そして、EJB SessionBeans には次のメソッドがあります。
public List<MainInterval> findMainIntervalsBetween(Date startDate, Date endDate){
List<MainInterval> resultList = em.createNamedQuery(MainInterval.FIND_BETWEEN, MainInterval.class)
.setParameter("startDate", startDate, TemporalType.DATE).setParameter("endDate", endDate, TemporalType.DATE).getResultList();
return resultList;
}
しかし、CDI を使用して JSF から呼び出すと、resultList は常に null になります。startDate と endDate の間の条件を満たすいくつかの MainIntervals がありますが。
チュートリアルのすべての回答またはリンクに非常に感謝しています。よろしくお願いします!