|
6 | 6 | */
|
7 | 7 | package org.hibernate.jpa.test.query;
|
8 | 8 |
|
| 9 | +import java.util.Date; |
| 10 | +import java.util.GregorianCalendar; |
| 11 | +import java.util.List; |
9 | 12 | import javax.persistence.Entity;
|
10 | 13 | import javax.persistence.EntityManager;
|
11 | 14 | import javax.persistence.Id;
|
12 | 15 | import javax.persistence.Query;
|
13 | 16 | import javax.persistence.Table;
|
14 | 17 | import javax.persistence.Temporal;
|
15 | 18 | import javax.persistence.TemporalType;
|
16 |
| -import java.util.Date; |
17 |
| -import java.util.GregorianCalendar; |
18 |
| -import java.util.List; |
19 | 19 |
|
20 | 20 | import org.hibernate.jpa.test.BaseEntityManagerFunctionalTestCase;
|
21 | 21 |
|
@@ -56,6 +56,23 @@ public void testBindingCalendarAsDate() {
|
56 | 56 | deleteTestData();
|
57 | 57 | }
|
58 | 58 |
|
| 59 | + @Test |
| 60 | + public void testBindingNulls() { |
| 61 | + EntityManager em = getOrCreateEntityManager(); |
| 62 | + em.getTransaction().begin(); |
| 63 | + |
| 64 | + try { |
| 65 | + Query query = em.createQuery( "from Thing t where t.someDate = :aDate or t.someTime = :aTime or t.someTimestamp = :aTimestamp" ); |
| 66 | + query.setParameter( "aDate", (Date) null, TemporalType.DATE ); |
| 67 | + query.setParameter( "aTime", (Date) null, TemporalType.DATE ); |
| 68 | + query.setParameter( "aTimestamp", (Date) null, TemporalType.DATE ); |
| 69 | + } |
| 70 | + finally { |
| 71 | + em.getTransaction().rollback(); |
| 72 | + em.close(); |
| 73 | + } |
| 74 | + } |
| 75 | + |
59 | 76 | private void createTestData() {
|
60 | 77 | EntityManager em = getOrCreateEntityManager();
|
61 | 78 | em.getTransaction().begin();
|
|
0 commit comments