當我遇到用戶使用此代碼時,它會按需要工作。休眠自定義類映射
public List<Users> getActiveUsers(User user) {
EntityManager entityManager = getEntityManager();
List<User> Users = new ArrayList();
try {
users = entityManager.createQuery("select e from User e where e.deleted = :deleted", User.class)
.setParameter("deleted", false)
.getResultList();
} finally {
entityManager.close();
}
return users;
}
但是,如果我試圖獲得只有一個用戶使用下面的代碼,它會失敗。
User user = (User) entityManager.createQuery("select e from User e where e.deleted = :deleted")
.setParameter("deleted", false)+
.getSingleResult();
我不能映射用戶,該excepction是:「不能轉換com.project.model.User到com.project.model.User」
你可以嘗試使用'entityManager.createQuery(查詢,User.class)'?你在哪裏部署這個? –
我試過了,結果一樣。我在哪裏部署?不知道是否理解,它在localhost中,並且該方法在userRepositoryCustom類中被調用 –
您正在使用哪個應用程序服務器,這似乎是與類加載器相關的問題。也可以嘗試添加到您的查詢「setMaxResults(1)」。 –