hibernate 联合主键一对多用注解怎么设置?
A主表B子表B表有两个主键,其中一个外键是A表的主键,我在A表设@OneToMany,在B表@ManyToOne,B表自动生成一个字段是A表的主键,我要怎么设置才能指定为...
A主表
B子表
B表有两个主键,其中一个外键是A表的主键,
我在A表设@OneToMany,在B表@ManyToOne,
B表自动生成一个字段是A表的主键,我要怎么设置才能指定为B表的联合主键呢? 展开
B子表
B表有两个主键,其中一个外键是A表的主键,
我在A表设@OneToMany,在B表@ManyToOne,
B表自动生成一个字段是A表的主键,我要怎么设置才能指定为B表的联合主键呢? 展开
2个回答
展开全部
@Entity
@Table(name="t_distrect")
/**
*区域类
*/
public class Distrect implements Serializable {
//街道类 这里有 mappedBy="distrect" 表示让street类的distrect对象管理外键,看下面双向
@OneToMany(cascade={CascadeType.ALL})
@JoinColumn(name="dis_id") //这里表示数据库的外键 在t_street里面创建
private Set<Street> set;
public Set<Street> getSet() {
return set;
}
public void setSet(Set<Street> set) {
this.set = set;
}
}
@Entity
@Table(name="t_street")
/**
*街道类
*/
public class Street {
private int id;
//xxxx省略
}
=============上面的是单向的===========
双向修改Street类
@Entity
@Table(name="t_street")
/**
*街道类
*/
public class Street {
private int id;
//xxxx省略getSet
//增加 上面单向配置如果设置了mappedBy="distrect"
//@OneToMany(cascade={CascadeType.ALL},mappedBy="distrect")
//就表示让这里的joinColumn来管理 ,数据库的外键对应这里的name值
@ManyToOne(cascade={CascadeType.ALL},targetEntity=Distrect.class)
@JoinColumn(name="fk_distrect")
private Distrect distrect;
}
@Table(name="t_distrect")
/**
*区域类
*/
public class Distrect implements Serializable {
//街道类 这里有 mappedBy="distrect" 表示让street类的distrect对象管理外键,看下面双向
@OneToMany(cascade={CascadeType.ALL})
@JoinColumn(name="dis_id") //这里表示数据库的外键 在t_street里面创建
private Set<Street> set;
public Set<Street> getSet() {
return set;
}
public void setSet(Set<Street> set) {
this.set = set;
}
}
@Entity
@Table(name="t_street")
/**
*街道类
*/
public class Street {
private int id;
//xxxx省略
}
=============上面的是单向的===========
双向修改Street类
@Entity
@Table(name="t_street")
/**
*街道类
*/
public class Street {
private int id;
//xxxx省略getSet
//增加 上面单向配置如果设置了mappedBy="distrect"
//@OneToMany(cascade={CascadeType.ALL},mappedBy="distrect")
//就表示让这里的joinColumn来管理 ,数据库的外键对应这里的name值
@ManyToOne(cascade={CascadeType.ALL},targetEntity=Distrect.class)
@JoinColumn(name="fk_distrect")
private Distrect distrect;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询