小编Rob*_*bie的帖子

JPA 继承:查询因未知列而失败

使用 EclipseLink v2.7.4 时执行以下 JPA 查询:

SELECT pr FROM AbstractProduct pr WHERE pr.shelve.superMarket.id = :1 ORDER BY pr.sortOrder
Run Code Online (Sandbox Code Playgroud)

给出以下错误:

Unknown column 't0.SORTORDER' in 'order clause'
Error Code: 1054
Call: SELECT t2.ID, t2.SORTORDER, t2.SHELVE_ID FROM APPLE t2, SHELVE t1 WHERE ((t1.SUPERMARKET_ID = ?) AND (t1.ID = t2.SHELVE_ID)) ORDER BY t0.SORTORDER
    bind => [12]
Run Code Online (Sandbox Code Playgroud)

该查询引用 t0,但生成的查询中没有任何地方定义 t0 是哪个表。

这些是我正在使用的实体:

@Entity
public class SuperMarket {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    @OneToMany(mappedBy = "superMarket")
    List<Shelve> shelves;
}

@Entity
public class Shelve { …
Run Code Online (Sandbox Code Playgroud)

inheritance jpa eclipselink

5
推荐指数
1
解决办法
327
查看次数

标签 统计

eclipselink ×1

inheritance ×1

jpa ×1