当前位置: 代码迷 >> Java Web开发 >> spring注解写的Entity中,某个类有俩外键,运行时就报错,啥有关问题
  详细解决方案

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

热度:10   发布时间:2016-04-14 18:58:54.0
spring注解写的Entity中,某个类有俩外键,运行时就报错,啥问题啊
商品评论(comment),对应评论者(shopper)和商品(commodity)

//多条评论对应一个shopper
@ManyToOne(cascade=CascadeType.REMOVE,optional=true)
@JoinColumn(name="ID")
private Shopper shopper;

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


评论:

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

购物者:

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

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

------解决思路----------------------
楼主,把你的Id改一下,你的  两个实体类注解的@JoinColumn(name="ID")的name是一样的,
------解决思路----------------------
	@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;

给你参考下 
------解决思路----------------------
joincolum  中 name 对应的是 你想要映射的关联依据  字段名称 
------解决思路----------------------
多条评论对应一个shopper
 @JoinColumn(name="ID")
    private Shopper shopper;

多条评论对应一个商品
@JoinColumn(name="ID")
    private Commodity commodity;

同一张表里使用了相同名称两个外键 所以报错
  相关解决方案