JPA 注解 OneToMany和ManyToOne

本文介绍了一对多关系型数据库映射的实现方法,通过定义两个Java实体类User和SubName,使用JPA注解来实现表ym_user与ym_sub_user之间的关联。User类作为一端,SubName类作为多端,详细展示了如何通过实体类实现一对多的关联关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    本例涉及的表(ym_user)一的一方,表(ym_sub_user)多的一方,在写代码时,需要建立表,并建立ym_sub_user中设置外键关联ym_user。表的字段如下:     
    ym_user(id,name)
    ym_sub_user(id,user_id,subname)

其中user_id是外键关联表ym_user
两个体类的代码如下:

@Entity
@Table(name = "YM_USER")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;

    @Column(name = "name")
    private String name;

    @OneToMany(mappedBy="user",fetch=FetchType.EAGER)
    private Set<SubName> subNameList = new HashSet<SubName>();

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Set<SubName> getSubNameList() {
        return subNameList;
    }

    public void setSubNameList(Set<SubName> subNameList) {
        this.subNameList = subNameList;
    }


}
@Entity
@Table(name = "ym_sub_user")
public class SubName {
    @Id
    private int id;

    @Column(name = "sub_name")
    private String subName;

    @ManyToOne(targetEntity = User.class)
    @JoinColumn(name="user_id")
    private User user;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getSubName() {
        return subName;
    }

    public void setSubName(String subName) {
        this.subName = subName;
    }

}

这样就完成了一对多和多对一的注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值