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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate 联合主键一对多用注解怎么设置?相关的知识,希望对你有一定的参考价值。

A主表
B子表
B表有两个主键,其中一个外键是A表的主键,
我在A表设@OneToMany,在B表@ManyToOne,
B表自动生成一个字段是A表的主键,我要怎么设置才能指定为B表的联合主键呢?

@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;
参考技术A primarykey再加一个字段名本回答被提问者采纳

hibernate注解

https://www.imooc.com/video/10154

@Entity配置实体类 @Table配置表名 @Embeddable;可嵌入类,在别的类中充当属性,结合@EmbeddedId实现一对一联合主键 @Id主键 @GeneratedValue配置主键策略等 @Column对应数据库表中字段 @Embedded标注一个实体类的嵌入类 @EmbeddedId嵌入主键id @Transient忽略生成表中的字段

以上是关于hibernate 联合主键一对多用注解怎么设置?的主要内容,如果未能解决你的问题,请参考以下文章

hibernate注解

Hibernate注解映射联合主键的三种主要方式(转载)

hibernate联合主键 注解方式

Hibernate注解映射联合主键的三种主要方式

Hibernate注解映射联合主键的三种主要方式

hibernate ——联合主键