java – JPA OneToMany和ManyToOne throw:实体列映射中的重复列
发布时间:2020-12-15 07:36:04 所属栏目:Java 来源:网络整理
导读:我有三个类,其中一个名称是User,这个用户有其他类实例.像这样; public class User{ @OneToMany(fetch=FetchType.LAZY,cascade = CascadeType.ALL) public ListAPost aPosts; @OneToMany(fetch=FetchType.LAZY,cascade = CascadeType.ALL) public ListBPost b
我有三个类,其中一个名称是User,这个用户有其他类实例.像这样;
public class User{ @OneToMany(fetch=FetchType.LAZY,cascade = CascadeType.ALL) public List<APost> aPosts; @OneToMany(fetch=FetchType.LAZY,cascade = CascadeType.ALL) public List<BPost> bPosts; } public class BPost extends Post { @ManyToOne(fetch=FetchType.LAZY) public User user; } public class APost extends Post { @ManyToOne(fetch=FetchType.LAZY) public User user; } 它的工作方式与此类似,但在db中生成emty表.哪个必须包含外键.当我尝试使用mappedBy和JoinColumn annotains时,我失败了.我该如何解决这个问题? 额外的信息: 当我换了; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="id") public User user; 和 @OneToMany(fetch=FetchType.LAZY,cascade = CascadeType.ALL,mappedBy="id") public List<APost> aPosts; 我越来越 发生JPA错误(无法构建EntityManagerFactory):实体映射中的重复列:models.post.APost列:id(应使用insert =“false”update =“false”映射) 最终编辑:最后,我对jpa注释完全错了. :(当我改变 @OneToMany(fetch=FetchType.LAZY,mappedBy="id") 至 @OneToMany(fetch=FetchType.LAZY,mappedBy="user") 和 @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="user_id") everthing工作正常. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容