gpt4 book ai didi

java - JPA-Hibernate-从 Select 语句生成的 ID 值

转载 作者:行者123 更新时间:2023-11-30 04:58:24 25 4
gpt4 key购买 nike

我在使用 JPA 注释映射旧数据库模式时遇到问题。

该架构使用表为数据库中的大多数表生成唯一 ID - 它的结构为:

table_name
column_name
next_id
block_size

要获取记录插入的新唯一 ID,请运行如下选择:

SELECT next_id FROM tbl_next_id WHERE table_name = 'tbl_pets' and column_name = 'pet_id'

呃。我知道我可以通过使用“选择”id 生成器在纯 hibernate 中执行此操作(除非我只是梦想这样做)-任何人都可以推荐使用 JPA 注释处理此问题的最佳方法吗?

谢谢

最佳答案

没有什么比这更好的了:

@TableGenerator(name="petsgen",
table="tbl_next_id",
pkColumnName="table_name",
pkColumnValue="tbl_pets",
valueColumnName="next_id",
allocationSize=1
)

@Id
@GeneratedValue(strategy=GenerationType.TABLE, generator="petsgen")

当然不支持表名+列名的组合,但只要表只有一个生成器就应该可以工作。

关于java - JPA-Hibernate-从 Select 语句生成的 ID 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7743912/

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