hibernate 注解方式一对一 基于外键的形式

本文介绍了一种基于外键实现的多对一关联关系,并通过具体示例解释了如何使用Java Hibernate框架实现这种关联关系。文章重点讲解了如何通过@JoinColumn注解设置外键及其唯一性约束。

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

    个人理解 : 基于外键的形式就是多对一的形式, 然后对外键进行唯一性约束
@Entity
@Table(name = "annotation_person")
public class AnnotationPerson implements java.io.Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 5259471514164780589L;
    @Id 
    @GenericGenerator(name = "generator", strategy = "uuid")
    @GeneratedValue(generator = "generator", strategy = GenerationType.TABLE)
    @Column(name="id",length=32)
    private String id;

    @Column(name = "name", length = 50)
    private String name;

    //没有加入 noe to noe 的概念,
    //没引用对方 


    public String getId() {
        return this.id;
    }

在这里,使用man to one 的概念,给表中加上外键
@JoinColumn(name=”p_id”,unique=true)
指定该列的名字和唯一性


/**
 * AnnotationCard generated by hbm2java
 * 外键的形式加载 
 */
@Entity
@Table(name = "annotation_card")
public class AnnotationCard implements java.io.Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = -3879101097861737759L;

    @Id 
    @GenericGenerator(name = "generator", strategy = "uuid")
    @GeneratedValue(generator = "generator", strategy = GenerationType.TABLE)
    @Column(name="id",length=32)
    private String id;


    @Column(name = "mark", length = 50)
    private String mark;

    @ManyToOne
    @JoinColumn(name="p_id",unique=true)
    private AnnotationPerson annotationPerson;

    public String getId() {
        return this.id;
    }

效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值