1. blackawa

    Posted

    blackawa
Changes in title
+ORA-00932: データ型が一致しません: NUMBERが予想されましたがBINARYです。 でハマっているJavaerの皆様へ
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,36 @@
+```sql
+SELECT
+ *
+FROM
+ HOGE
+WHERE
+(:startDate IS NULL OR START_DATE >= :startDate) AND
+(:endDate IS NULL OR START_DATE >= :endDate)
+```
+
+みたいなSQLをEntityManagerから作ったQueryに食わせて
+
+```java
+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です。
+```
+
+出てほげーーーーーってなった人へ。
+
+
+```java
+query.setParameter("startDate", condition.getStartDate(), TemporalType.DATE);
+// query.setParameter("startDate", condition.getStartDate(), TemporalType.TIME);
+// query.setParameter("startDate", condition.getStartDate(), TemporalType.TIMESTAMP);
+```
+
+( ◜◡‾)(‾◡◝ )