在使用本机Oracle序列的JPA / Hibernate应用程序中,使用单个全局序列更好 hibernate_sequence
,或者为每个表定义一个单独的序列?
看起来单个序列更容易维护,但通过制作更长的ID可能会使故障排除或即席查询变得更难。
在使用本机Oracle序列的JPA / Hibernate应用程序中,使用单个全局序列更好 hibernate_sequence
,或者为每个表定义一个单独的序列?
看起来单个序列更容易维护,但通过制作更长的ID可能会使故障排除或即席查询变得更难。
虽然缓存可以缓解它,但是当多个会话需要下一个会话时,序列可能会导致争用。 如果有一个序列服务于所有表,那么所有表上的所有插入都将争用相同的序列。如果您在执行之后,每个表的一个序列将减少争用。
单个序列表示两个表中没有匹配的ID。在实践中我喜欢这样,因为当你不小心查询错误的表时,你永远无法获得某些东西。删除特别有用。这是一件小事,但我发现它很有用。
我建议你每桌使用一个序列。在我的书中它只是一点清洁。我目前就业的标准是每桌的顺序。