MSSQL(2008) 和 EclipseLink(2.4)
我正在插入一个带有触发器的表,该触发器会插入另一个表
发生这种情况时,EclipseLink 返回由触发器插入到另一个表中的记录的 ID。
我假设我可以通过让 EcliipseLink 使用 SCOPE_IDENTITY() 而不是 @@IDENTITY 来获得正确的 ID。
问题是如何做到这一点?
我需要 EclipseLink (JPA) 的解决方案,我知道如何使用 sql 获取 id。
MSSQL(2008) 和 EclipseLink(2.4)
我正在插入一个带有触发器的表,该触发器会插入另一个表
发生这种情况时,EclipseLink 返回由触发器插入到另一个表中的记录的 ID。
我假设我可以通过让 EcliipseLink 使用 SCOPE_IDENTITY() 而不是 @@IDENTITY 来获得正确的 ID。
问题是如何做到这一点?
我需要 EclipseLink (JPA) 的解决方案,我知道如何使用 sql 获取 id。
TableA
有一个插入另一个表的触发器。你发出一个命令,比如..
INSERT INTO TableA (Field1, Field2) VALUES (@Value1, @Value2); SELECT SCOPE_IDENTITY() As MyRecID
这将插入一条记录TableA
并返回该ID
记录的。
有关更多信息,请阅读SCOPE_IDENTITY (Transact-SQL)
这里有一个向 EclipseLink 添加自定义序列对象以解决此问题的示例:http: //helpdesk.ibs-aachen.de/2009/08/27/eclipselink-ms-sql-server-identity/