使用 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)