javax.persistence.EntityNotFoundException' 异常。无法评估模型。Anagrafica_$$_jvst834_0.toString()
Posted
技术标签:
【中文标题】javax.persistence.EntityNotFoundException\' 异常。无法评估模型。Anagrafica_$$_jvst834_0.toString()【英文标题】:javax.persistence.EntityNotFoundException' exception. Cannot evaluate models.Anagrafica_$$_jvst834_0.toString()javax.persistence.EntityNotFoundException' 异常。无法评估模型。Anagrafica_$$_jvst834_0.toString() 【发布时间】:2018-05-07 16:12:46 【问题描述】:我正在使用 ninja 框架,它利用 JPA 访问数据库。
我有这个问题:enter image description here
我的代码:
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;
我不知道如何解决这个问题。
希望你能帮助我,提前谢谢你。
【问题讨论】:
【参考方案1】:getSingleResult() 会抛出 EntityNotFoundException,因为它没有找到具有所提供参数的实体。
您在调试器中看到的问题是内部类没有 toString 方法。但这没关系。问题是它没有找到实体。
如果您的查询结果可能为空,您必须捕获 EntityNotFoundException 或调用 getResultList() 并检查它是否为空。
【讨论】:
我通过执行结果列表来做到这一点 public以上是关于javax.persistence.EntityNotFoundException' 异常。无法评估模型。Anagrafica_$$_jvst834_0.toString()的主要内容,如果未能解决你的问题,请参考以下文章