hibernate多主键怎么自动生成表结构

发布时间:2024年01月18日

Hibernate中,可以使用@Embeddable@EmbeddedId注解来定义多个主键,并且自动生成表结构。

首先,创建一个表示联合主键的类,使用@Embeddable注解标注该类。在该类中定义多个主键属性,并重写equals()hashCode()方法。

@Embeddable
public class MyPrimaryKey implements Serializable {
    private int primaryKey1;
    private int primaryKey2;

    // Getters and Setters

    @Override
    public boolean equals(Object o) {
      // 自定义equals方法
    }

    @Override
    public int hashCode() {
      // 自定义hashCode方法
    }
}

然后,在包含该联合主键的实体类上使用@EmbeddedId注解,并将联合主键类作为属性添加到实体类中。

@Entity
@Table(name = "my_table")
public class MyEntity {

    @EmbeddedId
    private MyPrimaryKey id;

    // Getters and Setters
}

最后,运行Hibernate自动建表时,会自动根据联合主键生成相应的表结构。

注意:

  • 联合主键类必须实现Serializable接口。
  • 在重写equals()hashCode()方法时,需要根据属性进行比较和计算哈希值。
文章来源:https://blog.csdn.net/liuguoxin_1996/article/details/135655906
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。