SELECT
*
FROM
HOGE
WHERE
(:startDate IS NULL OR START_DATE >= :startDate) AND
(:endDate IS NULL OR START_DATE >= :endDate)
みたいなSQLをEntityManagerから作ったQueryに食わせて
EntityManager em = YourEntityManagerFactory.create();
Query query = em.createNamedQuery("yourQuery.Name");
query.setParameter("startDate", condition.getStartDate());
query.setParameter("endDate", condition.getEndDate());
List<YourEntity> entities = query.getResultList();
したら
Caused by: java.sql.SQLSyntaxErrorException: ORA-00932: データ型が一致しません: NUMBERが予想されましたがBINARYです。
出てほげーーーーーってなった人へ。
query.setParameter("startDate", condition.getStartDate(), TemporalType.DATE);
// query.setParameter("startDate", condition.getStartDate(), TemporalType.TIME);
// query.setParameter("startDate", condition.getStartDate(), TemporalType.TIMESTAMP);
( ◜◡‾)(‾◡◝ )