我是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子句中的标识变量作为前缀的前缀?
我真的很感谢你对此的帮助
答案 0 :(得分:1)
尝试这样的事情:
SELECT u.id, u.modifiedDate FROM UserDmo u WHERE u.supplier.id = 1