0
有什麼辦法可以刪除特定命名查詢的緩存?我不想刪除所有查詢......或者是否有其他解決方法?hibernate createQuery的bug?
如果我使用的是正常的查詢類這是行不通的,甚至......
我使用Hibernate 3.6,GlassFish的3.1.1,這是一個Java EE應用程序(代碼從EJB模塊)
我有這樣的事情:
public User getUserByName(String username) {
try {
return (User) em.createNamedQuery("User.getUserByName").setParameter("username", username).getSingleResult();
} catch (NoResultException e) {
return null;
}
}
//...
if(getUserByName(entity.getUsername()!=null) {
em.persist(entity);
}
//...
// username added in database (checked)
if(getUserByName(entity.getUsername())==null) {
//something else
}
我第二次用「getUserByName」又是..空......爲什麼?
我想它的緩存模塊(因爲如果我把我的供應商的EclipseLink它的工作,因爲它應該)...
我使用冬眠它的搜索..
謝謝。不知道這個..我會試一試。 – Alex
不客氣:)無論如何,這裏是hibernate查詢提示的參考:[link](http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/objectstate.html#d0e1215) – zeller