JPA 注解 OneToMany和ManyToOne

    本例涉及的表(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;
    }

}

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值