多对一级联不起作用

ful*_*ton 2 hibernate jpa playframework

在 Play 框架中!我定义了两个模型:

一方面,

@Entity
public class DashboardPosition extends Model  {
    public int orderId;

    @ManyToOne(cascade=CascadeType.ALL)
    public Dashboard dashboard;
}
Run Code Online (Sandbox Code Playgroud)

另一方面,

@Entity
public class Dashboard extends Model  {
    ...
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,当通过“dashboard.delete()”删除仪表板时,我收到以下日志的错误。

12:07:20,190 DEBUG ~ delete from Dashboard where id=?
12:07:20,204 WARN  ~ SQL Error: 23003, SQLState: 23003
12:07:20,204 ERROR ~ Referential integrity constraint violation: "FKF7C253BD5A49DA96: PUBLIC.DASHBOARDPOSITION FOREIGN KEY(DASHBOARD_ID) REFERENCES PUBLIC.DASHBOARD(ID)"; SQL statement:
delete from Dashboard where id=? [23003-149]
12:07:20,204 WARN  ~ SQL Error: 23003, SQLState: 23003
12:07:20,204 ERROR ~ Referential integrity constraint violation: "FKF7C253BD5A49DA96: PUBLIC.DASHBOARDPOSITION FOREIGN KEY(DASHBOARD_ID) REFERENCES PUBLIC.DASHBOARD(ID)"; SQL statement:
delete from Dashboard where id=? [23003-149]
Run Code Online (Sandbox Code Playgroud)

这让我认为级联在我的情况下不起作用。关于为什么会发生这种情况/如何调试此问题的任何线索?

JB *_*zet 5

级联位于关联的错误一侧。

您希望在删除仪表板时删除仪表板的所有位置。但您不希望在删除仪表板的某个位置时也删除该仪表板。@OneToMany因此,应该在仪表板字段的注释上设置级联positions