javax.persistence.EntityNotFoundException'异常。无法评估模型。Anagrafica_$$\u jvst834_0.toString()
我使用的是ninja框架,它利用JPA访问数据库 我有一个问题: 我的代码:javax.persistence.EntityNotFoundException'异常。无法评估模型。Anagrafica_$$\u jvst834_0.toString(),java,hibernate,jpa,ninjaframework,Java,Hibernate,Jpa,Ninjaframework,我使用的是ninja框架,它利用JPA访问数据库 我有一个问题: 我的代码: public class UtenteDao extends AbstractDao { @Inject Provider<EntityManager> entityManagerProvider; @UnitOfWork public boolean utenteValido(String user, String password) { if (user != null &&a
public class UtenteDao extends AbstractDao {
@Inject
Provider<EntityManager> entityManagerProvider;
@UnitOfWork
public boolean utenteValido(String user, String password) {
if (user != null && password != null ) {
EntityManager entityManager = entityManagerProvider.get();
TypedQuery<Utente> q = entityManager
.createQuery("SELECT x FROM Utente x WHERE x.user = :user AND x.password = :password AND x.attivo ='true'", Utente.class)
.setParameter("user",user)
.setParameter("password",password);
Utente utente = getSingleResult(q);
if (utente != null) {
if (utente.password.equals(password)) {
return true;
}
}
}
return false;
}
}
我不知道如何解决这个问题
我希望您能提前帮助我并感谢您。getSingleResult会抛出EntityNotFoundException,因为它找不到具有所提供参数的实体 您在调试器中看到的问题是内部类没有toString方法。但这并不重要。问题是它没有找到实体
如果查询结果可以为空,则必须捕获EntityNotFoundException或调用getResultList并检查其是否为空。我通过执行结果列表public T getSingleResultTypedQuery查询{query.setMaxResults1;list lista=query.getResultList;iLista==null | | lista.isEmpty来完成此操作{return null;}return lista.get0;}事实上,如果您可以通过扩展由Me创建的abstractDao类看到什么是Anagrafica?从stacktrace中,我看到Execution被抛出到这个类的toString方法中