@Id来自@GeneratedValue(strategy = GenerationType.SEQUENCE)与String连接

时间:2012-02-02 16:51:40

标签: hibernate jpa

我需要映射一个遗留数据库表,其中包含一些与静态字符串连接的序列生成的奇怪主键。

Oracle Sequence根据标准生成ID'。但是所讨论的表的ID列是该序列号和字符串AA的串联。在持久保存新对象时,是否可以使用JPA以相同的格式创建ID值?

Oracle Sequence生成增量数字,123,`4 ......等等。

表格的ID必须为AA_1AA_2AA_3AA_4 ......等等。

我理解如何通过在类中注释id字段来从序列中创建ID,我假设我需要编写自己的定制ID生成类来获取序列并将AA字符串连接到它上面。

1 个答案:

答案 0 :(得分:2)

您需要通过扩展IdentifierGenerator接口来创建自己的自定义标识符生成器。

然后,可以使用Oracle序列获取您的值,然后执行连接。

然后,您可以在映射中指定生成器类。