-1

我的模型中有 oneToMany 和 ManyToOne 映射:

类用户

@OneToMany (cascade = { CascadeType.REFRESH, CascadeType.DETACH }, fetch = FetchType.EAGER)
    private Set<Judgement> judgements;

类判断

@ManyToOne(cascade = { CascadeType.REFRESH, CascadeType.DETACH})
    @JoinColumn(name = "user_id")
    private User judge;

在数据库中,我必须将表作为用户和判断,当我尝试运行我的代码时,它显示错误为:

Caused by: org.postgresql.util.PSQLException: ERROR: relation "users_judgements" does not exist

这是否意味着我必须手动创建表 users_judgements,jpa 不能自动为我创建关系?RoR 可以做到...谢谢。

4

1 回答 1

0

如果您在 JUDGMENT 表中有来自 USER 表的外键 user_id,则不需要另一个表。那将是@JoinColumn(name = "user_id")。

看看你是否遗漏了什么;我看不到任何“ mappedBy ”属性,在您的情况下将是“用户”。

请看这篇文章;第 4 页,该链接将带您,提供有关一对多关系的详细信息。整篇文章都值得一读。

http://www.javaworld.com/javaworld/jw-01-2008/jw-01-jpa2.html?page=4

此外,同一教程的第 1 部分适用于基础知识;

http://www.javaworld.com/javaworld/jw-01-2008/jw-01-jpa1.html

于 2012-05-08T11:00:15.250 回答