hibernate 联合主键一对多用注解怎么设置?

A主表B子表B表有两个主键,其中一个外键是A表的主键,我在A表设@OneToMany,在B表@ManyToOne,B表自动生成一个字段是A表的主键,我要怎么设置才能指定为... A主表
B子表
B表有两个主键,其中一个外键是A表的主键,
我在A表设@OneToMany,在B表@ManyToOne,
B表自动生成一个字段是A表的主键,我要怎么设置才能指定为B表的联合主键呢?
展开
 我来答
198901245631
推荐于2018-03-30 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1680万
展开全部
@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;
}
lianyedie
2010-12-16 · 超过33用户采纳过TA的回答
知道答主
回答量:194
采纳率:0%
帮助的人:83.5万
展开全部
primarykey再加一个字段名
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式