【问题标题】:The left and right expressions type must be of the same type - JPQL左右表达式类型必须是同一类型 - JPQL
【发布时间】:2015-07-07 01:47:01
【问题描述】:

我正在将 JPA 与 EclipseLink 一起使用,但收到以下警告:

左右表达式类型必须相同。

在这一行:

Query query = em.createQuery("SELECT u FROM AuthToken auth, User u WHERE
     u.id = auth.user AND auth.token = :mytoken", User.class);

em 是我的EntityManager

谁能解释一下为什么会出现这个警告以及如何解决它?

我对@9​​87654324@和JOINs不是很熟悉,所以请多多包涵。

【问题讨论】:

    标签: jakarta-ee jpa jpql


    【解决方案1】:

    尝试删除条件u.id = auth.user 并检查是否仍然出现错误。不应该是:

    u.id = auth.user.id
    

    【讨论】:

    • 我已删除,但不再收到警告。尽管如此,我仍然需要进行比较以确保我得到一个user 和我需要的user
    • 你明白了,伙计,谢谢!普通 SQL 使我在 JPQL 方面缺乏技能。我知道我必须采用“面向对象”的方式,在列中导航。
    猜你喜欢
    • 1970-01-01
    • 2011-09-26
    • 2018-03-27
    • 2021-06-16
    • 1970-01-01
    • 2022-01-23
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多