Java JPA标准生成器等分块

Java JPA标准生成器等分块,java,hibernate,jpa,criteria,Java,Hibernate,Jpa,Criteria,当我使用CriteriaBuilder.equal()创建谓词并将其传递给CriteriaQuery.where()以便过滤select by where子句时,我在CriteriaBuilder中遇到了一些奇怪的问题。一切运行正常,但当涉及到带有Criteria.equal的零件时,它会在它之后终止一切。我甚至不知道这是怎么发生的 CriteriaBuilder builder = getCurrentSession().getCriteriaBuilder(); Criter

当我使用CriteriaBuilder.equal()创建谓词并将其传递给CriteriaQuery.where()以便过滤select by where子句时,我在CriteriaBuilder中遇到了一些奇怪的问题。一切运行正常,但当涉及到带有Criteria.equal的零件时,它会在它之后终止一切。我甚至不知道这是怎么发生的

    CriteriaBuilder builder = getCurrentSession().getCriteriaBuilder();
    CriteriaQuery<User> criteria = builder.createQuery(User.class);
    Root<User> UserRoot = criteria.from(User.class);
    Predicate predicate = builder.equal(UserRoot.get("google_id"), googleId);
    criteria.select(UserRoot).where(predicate);
    return getCurrentSession().createQuery(criteria).getSingleResult();
CriteriaBuilder=getCurrentSession().getCriteriaBuilder();
CriteriaQuery criteria=builder.createQuery(User.class);
Root UserRoot=criteria.from(User.class);
谓词=builder.equal(UserRoot.get(“google_id”)、googleId);
条件。选择(UserRoot)。其中(谓词);
返回getCurrentSession().createQuery(条件).getSingleResult();

当我在每一行后面加上指纹,它们一直打印到第四行,然后所有的东西都消失了,它就不会返回了。除标准之外的所有其他操作都正常工作。

终止
,因为在中引发了一个
异常
?请注意,UserRoot应该是UserRoot,因为它是一个变量。发现问题。。。userRoot.get获取用户实体中的变量名,而不是使用@Column(name=“value”)名称映射的变量名。所以我不得不把谷歌id放在那里,而不是谷歌id。谢谢你花时间回答。愚蠢的错误