需要将旧数据库移植到新数据库,但移植过程将花费大量时间,旧数据库将保持运行状态。 在旧的DB中,ID是新的ID中的序列号,我们需要全局唯一标识符,在hibernate的情况下,我们(或者是)将使用hibernate内置的UUID生成来生成。我不知道它(hibernate的UUID)是如何工作的,也不知道它是否与java的本机UUID生成相同。实际上,hibernate提供了2个uuid生成策略(uuid和uuid2)。
问题在于,如果我们使用hibernates生成,那么hibernate生成的ID与来自旧DB的ID之间可能会发生冲突,而它仍在工作。我们将编写一些oracle过程来帮助我们“巧妙地”将ID从旧数据库传输到新数据库但我们应该在这些过程中使用什么ID生成技术,这样我们就不会与生成的ID发生ID冲突通过hibernate?
我们可以使用oracle内置的GUID生成器或在java中编写一个过程并使用java的本机UUID生成器。但是没有人写过那些2不会与hibernate生成的ID产生冲突。