2016-05-24 41 views
0

多的谷歌搜索後,我找不到工作的解決方案來映射INNER JOIN被描述爲在SQL如下:JPA /休眠 - INNER JOIN在串聯列名

select i.label, i.cat_label from category cat 
inner join items it on (it.context_code||'.'||it.label_code)=cat.cat_label 

如何定義一對多類別實體?何寫一個查詢條件? 我嘗試如下,沒有成功:

Category.java 

@OneToMany 
    @JoinColumnOrFormula(formula = @JoinFormula(value = "CONTEXT_CODE || . || LABEL_CODE")) 
    private List <Items> items; 


Item.java 

@Formula(value = "CONTEXT_CODE || . || LABEL_CODE") 
    private String contextCodeLabelCode; 

回答

0

可以使用JPQL不能使用on條款。 Hibernate 5.1允許使用HQL

如果你需要使用JPQL,你可以嘗試使用cross join(笛卡爾乘積)

select it from category cat, items it where ...