我必须使用 hibernate 管理 2 个数据库(mssql)之间的数据传输。
当我使用 session.get()
从一个数据库加载对象时,它已经有了一个私钥。然后我需要使用 anotherSession.replicate(Object o) 将其持久化到另一个数据库。
我的问题是,给定的 PK 没有保留,而是被另一个 PK 替换。
PS:srcTable 和 destTable 都有 PK 生成标识,并且需要保持这种状态。
最佳答案
如果您将实体 ID 映射到生成“身份”,则一旦您尝试保留它,Hibernate 将始终生成一个新 ID。您必须将世代切换为“已分配”才能保留您的旧 ID。
关于java - 覆盖hibernate mssql的identitycolumn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36998405/