gpt4 book ai didi

java - 全局配置 Hibernate 以使用 GenerationType.IDENTITY

转载 作者:行者123 更新时间:2023-12-02 02:03:54 26 4
gpt4 key购买 nike

由于 Spring Boot 2 使用 Hibernate 5,因此我的 MySQL 5.7 数据库的 @GenerateValue 默认策略 GenerationType.AUTO 会导致模拟 GenerationType.SEQUENCE在一个单独的表中,因为 MySQL 5.7 不支持序列。

我希望使用 GenerationType.IDENTITY 生成所有表的主 ID。

是否有一种全局方法可以将其设置为默认策略,这样我就不必在每次使用 @GenerateValue 时明确选择 GenerationType.IDENTITY 策略> 在田野上?

最佳答案

让所有实体使用相同生成器的一个简单方法是使用一个 @MappedSuperclass 来定义 @Id 字段并使用您希望的生成策略,然后在您的实体中扩展该类。

除了您希望实体拥有的主键之外,您还可以定义其他属性。如果您想要拥有不同“类型”的实体,即仅定义了 pk 的实体,或者具有诸如 created已更新

@MappedSuperclass
public class PKEntity {

@Id
@GenericGenerator(name="universal", etc. etc. etc.)
@GeneratedValue(generator="universal")
private Long id;

// Possibly more common columns your entities have
}

关于java - 全局配置 Hibernate 以使用 GenerationType.IDENTITY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51135345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com