您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> spring注解写的Entity中,某个类有俩外键,运行时就报错,啥问题啊

spring注解写的Entity中,某个类有俩外键,运行时就报错,啥问题啊

来源:网络整理     时间:2016/6/20 4:57:19     关键词:

关于网友提出的“ spring注解写的Entity中,某个类有俩外键,运行时就报错,啥问题啊”问题疑问,本网通过在网上对“ spring注解写的Entity中,某个类有俩外键,运行时就报错,啥问题啊”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: spring注解写的Entity中,某个类有俩外键,运行时就报错,啥问题啊
描述:

spring注解外键

商品评论(comment),对应评论者(shopper)和商品(commodity)

//多条评论对应一个shopper
@ManyToOne(cascade=CascadeType.REMOVE,opti /> @JoinColumn(name="ID")
private Shopper shopper;
//多条评论对应一个商品
@ManyToOne(cascade=CascadeType.REMOVE,opti /> @JoinColumn(name="ID")
private Commodity commodity;

评论:

@OneToMany(cascade={CascadeType.REMOVE},mappedBy="commodity")
private List comment;

购物者:

@OneToMany(cascade={CascadeType.REMOVE},mappedBy="shopper")
private List comment;

但是运行就报错:
Repeated column in mapping for entity: com.wtu.Entity.Shopper.Comment column: ID (should be mapped with insert="false" update="false")

解决方案1:

多条评论对应一个shopper
 @JoinColumn(name="ID")
    private Shopper shopper;
多条评论对应一个商品
@JoinColumn(name="ID")
    private Commodity commodity;
同一张表里使用了相同名称两个外键 所以报错

解决方案2:

joincolum  中 name 对应的是 你想要映射的关联依据  字段名称 

解决方案3:

	@ManyToOne(targetEntity = CmcsUser.class, fetch = FetchType.EAGER)
@JoinColumn(name = "USER_ID")
private CmcsUser user;
@ManyToOne(targetEntity = CmcsGroup.class, fetch = FetchType.EAGER)
@JoinColumn(name = "GROUP_ID")
private CmcsGroup group;

给你参考下  解决方案4:

楼主,把你的Id改一下,你的  两个实体类注解的@JoinColumn(name="ID")的name是一样的,


以上介绍了“ spring注解写的Entity中,某个类有俩外键,运行时就报错,啥问题啊”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1792573.html

相关图片

相关文章