2012-10-13 58 views
2

我是JPA和OpennJPA的新手。我有兩個實體UserDmoSupplierDmo。每個供應商可以有多個用戶和這種關係被確定爲follws,如何使用OpenJPA在WHERE子句中遍歷關係?

UserDmo

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

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

在這裏列ID_SUPPLIER是FK由SupplierDmo的ID列引用。使用這兩個實體,我嘗試通過以下查詢獲得結果。

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

但我得到了,錯誤消息:試圖從非實體變量「s」查詢欄「s.id」。也許你忘了在你的FROM子句中使用一個標識變量來爲所討論的路徑添加前綴?

我真的很感謝你對這個

回答

1

幫助嘗試是這樣的:

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

感謝支持它工作正常 – SAP