我已經重寫了這個問題來說明問題。休眠當前日期不起作用
我有一個這樣的實體:
@Entity
@NamedQueries({
@NamedQuery(
name = "myObj.findCurrentUsingFunction",
query = "from MyObj where insertDate = current_date() "),
@NamedQuery(
name = "myObj.findCurrentUsingParameter",
query = "from MyObj where insertDate = :currentDate")
})
public class MyObj {
@Id @GeneratedValue @Column
private Long id;
@Column @Temporal(TemporalType.DATE)
private Date insertDate;
/* getter, setter */
}
我有一個失敗的測試:
@Test
public void findCurrentUsingFunction() throws Exception {
final MyObj myObj = new MyObj();
myObj.setInsertDate(new Date());
final Session session = dao.getSessionFactory().getCurrentSession();
session.saveOrUpdate(myObj);
final Query namedQuery =
session.getNamedQuery("myObj.findCurrentUsingFunction");
final List results = namedQuery.list();
Assert.assertEquals("size",1L, (long) results.size());
}
Hibernate: select hibernate_sequence.nextval from dual Hibernate: insert into MyObj (insertDate, id) values (?, ?) Hibernate: select myobj0_.id as id0_, myobj0_.insertDate as insertDate0_ from MyObj myobj0_ where myobj0_.insertDate=current_date
java.lang.AssertionError: size expected:<1> but was:<0>
和通過的測試
@Test
public void findCurrentUsingParameter() throws Exception {
final MyObj myObj = new MyObj();
myObj.setInsertDate(new Date());
final Session currentSession = dao.getSessionFactory().getCurrentSession();
currentSession.saveOrUpdate(myObj);
final Query namedQuery =
currentSession.getNamedQuery("myObj.findCurrentUsingParameter");
namedQuery.setDate("currentDate", new Date());
final List results = namedQuery.list();
Assert.assertEquals("size",1L, (long) results.size());
}
的話是:
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
您的超鏈接已損壞。什麼不行?異常,堆棧跟蹤?不是你期待的結果?什麼是insertDate的映射?數據庫中的列類型是什麼?它在數據庫中的價值是什麼? –
可能的重複[如何在HQL查詢中使用當前日期與Oracle數據庫?](http://stackoverflow.com/questions/513317/how-do-i-use-the-current-date-in -an-hql-query-with-an-oracle-database)(看看[接受的答案](http://stackoverflow.com/questions/513317/how-do-i-use-the-current- date-in-hql-query-with-an-oracle-database/513367#513367)) –
@JB鏈接沒有中斷。 –