jpa OneToMany&多对一

时间:2012-05-08 01:57:09

标签: jpa

我的模型中有一个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;

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

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

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

1 个答案:

答案 0 :(得分:0)

如果你有一个来自USER表userdid的外键,那么在JUDGMENT表中则不需要另一个表。这将是@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