如何使用OpenJPA遍历WHERE子句中的关系?

时间:2012-10-13 14:16:37

标签: jpa openjpa

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

UserDmo 中,

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

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

此处列ID_SUPPLIER是供应商Dmo的ID列引用的FK。使用这两个实体,我试图通过以下查询获得结果。

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

但是我得到了,错误消息:尝试从非实体变量“s”查询字段“s.id”。也许你忘了用相应的FROM子句中的标识变量作为前缀的前缀?

我真的很感谢你对此的帮助

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

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