【问题标题】:How do I traverse a relationship in a WHERE clause with OpenJPA?如何使用 OpenJPA 遍历 WHERE 子句中的关系?
【发布时间】:2012-10-13 14:16:36
【问题描述】:

我是 JPA 和 OpennJPA 的新手。我有两个实体 UserDmoSupplierDmo。每个供应商可以有多个用户,这种关系建立如下,

UserDmo中,

Column(name="id_supplier")
private long idSupplier;

@ManyToOne(optional=true)
@JoinColumn(name="ID_SUPPLIER")
private SupplierDmo supplier;

这里的 ID_SUPPLIER 列是由 SupplierDmo 的 ID 列引用的 FK。使用这两个实体,我尝试通过以下查询获得结果。

SELECT u.id, u.modifiedDate FROM UserDmo u JOIN u.idSupplier s WHERE s.id = 1

但我得到了,错误消息:尝试从非实体变量“s”查询字段“s.id”。也许您忘记在相关路径前加上 FROM 子句中的标识变量?

非常感谢您对此提供的帮助

【问题讨论】:

    标签: jpa openjpa


    【解决方案1】:

    试试这样的:

    SELECT u.id, u.modifiedDate FROM UserDmo u WHERE u.supplier.id = 1
    

    【讨论】:

      猜你喜欢
      • 2018-10-12
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多