请教高人,关于Hibernate映射的问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 05:34:59
遇到了一个棘手问题,今天做一个小实例,有两个这样的表:
User(用户表)和Goods(货物表)
Goods表里有两个外键都指向了User表的主建,分别是buyer_id(买家)和saler_id(卖家)
如果我向Goods表插入一条数据的话,如果buyer_id有值,而saler_id为空,证明这个货物是要买进的;反之,如果saler_id有值,而buyer_id为空,说明是要卖出的,我这么说大家应该明白吧?
这样问题就来了,我如何使用Hibernate写映射?
如果使用<many-to-one>,那么由于我有两个外键,那就得写两个<many-to-one>,每个外键列都对应一个User表,这样我试过了,Hibernate是抛异常的,它说“duplicate property mapping: user”(为user定义了相同的属性),我究竟该怎么做?

我的Goods实体类:
public class Goods {

private int goods_id;
private String goods_name;
private double goods_price;
private String goods_pic;
private String goods_desc;
private Date begin_time;
private Date end_time;
private int goods_status;
private User user;//映射到User表
//省略getter&setter方法
}
我的Goods.hbm.xml:
<many-to-one name="user" column="buyer_id"
class="com.yue.epai.entity.User" cascade="save-update"/>
<many-to-o

private User user;//映射到User表
这个不是啦,你要写两个,因为你有两个many to one,所以是定义 两个,private User buyUser;private User sailUser;这样了,然后分别对其映射,这个就像收发邮件一样的。思路就是这样,你试试吧。不会可以再说,可hi我

底层数据库没有设计好,你可以建一个进货表一个出货表