【问题标题】:Spring Boot Jpa custom Id generator with composite key具有复合键的 Spring Boot Jpa 自定义 Id 生成器
【发布时间】:2020-09-26 10:58:00
【问题描述】:
在 Spring Boot 应用程序实体中,我有一个唯一字段 A 和唯一字段 B。我想创建一个 id 生成器,它生成一个在 A 列和 B 列中唯一的整数 id。最简单的实现方法是什么这个?我们的存储库将扩展 DatastoreRepository。我希望生成的 Id 是一个串联:
int generatedId= "A 列 + B 列 + "
【问题讨论】:
标签:
hibernate
spring-data-jpa
spring-data
google-cloud-datastore
【解决方案1】:
custom generator 可能对您有用。在generate 方法中,您将能够访问实体(通过object 参数)以及调用super 实现以获取DB 序列生成的值。
如果您想以其他方式处理序列号生成,您还可以让您的生成器实现更通用的IdGenerator(而不是从SequenceStyleGenerator 继承)。 session 参数基本上允许您对 DB 执行任意 SQL。