应用程序与数据库生成的密钥

时间:2015-07-14 07:44:19

标签: java jdbc primary-key

我以Spring Batch为例来说明我的问题,因为我在查看Spring Batch文档时已经考虑过了。

如果您查看this部分,可以阅读:

  

但是,它们不是数据库生成的密钥,而是由不同的序列生成。这是必要的,因为在将一个域对象插入数据库之后,需要在实际对象上设置它所给出的密钥,以便可以在Java中唯一地标识它们。较新的数据库驱动程序(Jdbc 3.0及更高版本)使用数据库生成的密钥支持此功能,但不使用它,而是使用了序列。

到现在为止,我总是如下:

  1. 创建实体(尚未分配标识符 - 例如,密钥为空)
  2. 使用存储库来保存实体。数据库为实体生成唯一标识符。可以使用JDBC API访问标识符。
  3. 将标识符设置为创建的实体
  4. 使用此方法与应用程序生成的密钥方法有什么优缺点?

    谢谢, 迈克尔

0 个答案:

没有答案