java - 覆盖hibernate mssql的identitycolumn

标签 java sql-server hibernate

我必须使用 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/

相关文章:

sql - 内部连接到 select 语句,其中内部 select 语句的 where 子句引用外部 select?

java - 使用 spring 在 hibernate 映射文件中动态添加模式名称

java - hibernate 中的交叉连接问题

java - 什么是 SAML 元数据?

java - GAE Long 太长了有没有办法让 Long ID 变短?

sql-server - SQL Server/Azure 门户授予默认 (sysadmin) QUERYTRACEON 权限

java - 如何使用 JPA 调用需要常量参数的 SQL native 函数?

java - chromedriver.exe 和 selenium-chrome-driver.jar 之间的区别

java - 我可以使用compareTo 对整数和 double 值进行排序吗?

.net - 如何以编程方式将 SQL 数据类型转换为 .Net 数据类型?