Playframework [Java] 从 2.6.6 迁移。到 2.7.0 JPA 有问题吗?
Playframework [Java] Migration from 2.6.6. to 2.7.0 Problems with JPA?
此代码适用于 play 2.6.6 和 Hibernate 4.2.3:
int employeeId=1;
String projectId=123;
int projectSize = jpaApi.withTransaction(entityManager -> {
TypedQuery<Table> query = entityManager.createQuery("FROM Table WHERE employeeId=:employeeId AND projectId=:projectId", Table.class);
query.setParameter("employeeId", employeeId);
query.setParameter("projectId", projectId);
try
{
return query.getResultList().size();
}
catch (NoResultException e)
{
LOGGER.debug("not found");
return 0;
}
});
自从我更新玩 2.7.0 并将 hibernate-dependencies 更新为 5.4.0-Final。这个块给了我一个例外:
异常:无法找到 ID 为 123
的 models.Table
这是一个错误吗?或者我做错了什么?
您应该在查询中指定您的select:
entityManager.createQuery("SELECT t FROM Table t WHERE employeeId=:employeeId AND projectId=:projectId", Table.class);
更新到 Hibernate 4.2.8-Final 解决了错误。
此代码适用于 play 2.6.6 和 Hibernate 4.2.3:
int employeeId=1;
String projectId=123;
int projectSize = jpaApi.withTransaction(entityManager -> {
TypedQuery<Table> query = entityManager.createQuery("FROM Table WHERE employeeId=:employeeId AND projectId=:projectId", Table.class);
query.setParameter("employeeId", employeeId);
query.setParameter("projectId", projectId);
try
{
return query.getResultList().size();
}
catch (NoResultException e)
{
LOGGER.debug("not found");
return 0;
}
});
自从我更新玩 2.7.0 并将 hibernate-dependencies 更新为 5.4.0-Final。这个块给了我一个例外:
异常:无法找到 ID 为 123
的 models.Table这是一个错误吗?或者我做错了什么?
您应该在查询中指定您的select:
entityManager.createQuery("SELECT t FROM Table t WHERE employeeId=:employeeId AND projectId=:projectId", Table.class);
更新到 Hibernate 4.2.8-Final 解决了错误。