我的模型中有一个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可以做到......谢谢。
答案 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