JPA / Hibernate - 连接列名称的INNER JOIN

时间:2016-05-24 15:40:03

标签: hibernate jpa

多次谷歌搜索后,我找不到一个有效的解决方案来映射INNER连接,在SQL中描述如下:

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

如何在Category实体中定义OneToMany?何写一个查询标准? 我尝试如下,没有成功:

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;

1 个答案:

答案 0 :(得分:0)

您无法使用on使用JPQL子句。在HQL中允许使用Hibernate 5.1。

如果您需要使用JPQL,可以尝试使用cross join(笛卡尔积)

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