我需要映射一个遗留数据库表,其中包含一些与静态字符串连接的序列生成的奇怪主键。
Oracle Sequence根据标准生成ID'。但是所讨论的表的ID列是该序列号和字符串AA
的串联。在持久保存新对象时,是否可以使用JPA以相同的格式创建ID值?
Oracle Sequence生成增量数字,1
,2
,3
,`4 ......等等。
表格的ID必须为AA_1
,AA_2
,AA_3
,AA_4
......等等。
我理解如何通过在类中注释id字段来从序列中创建ID,我假设我需要编写自己的定制ID生成类来获取序列并将AA
字符串连接到它上面。
答案 0 :(得分:2)
您需要通过扩展IdentifierGenerator接口来创建自己的自定义标识符生成器。
然后,可以使用Oracle序列获取您的值,然后执行连接。
然后,您可以在映射中指定生成器类。