EclipseLink记录插入返回错误的id

时间:2014-11-05 21:10:17

标签: java sql-server eclipselink scope-identity

MSSQL(2008)和EclipseLink(2.4)

我正在插入带有触发器的表,该触发器插入另一个表

发生这种情况时,EclipseLink会返回触发器插入到另一个表中的记录的ID。

我假设我可以通过让EcliipseLink使用SCOPE_IDENTITY()代替@@ IDENTITY来获得正确的ID。

问题是如何做到这一点?

我需要EclipseLink(JPA)的解决方案,我知道如何使用sql获取id。

2 个答案:

答案 0 :(得分:0)

TableA有一个插入另一个表的触发器。您发出类似..

的命令

INSERT INTO TableA (Field1, Field2) VALUES (@Value1, @Value2); SELECT SCOPE_IDENTITY() As MyRecID

这会将记录插入TableA并返回该记录的ID

有关详细信息,请参阅SCOPE_IDENTITY (Transact-SQL)

答案 1 :(得分:0)

有一个向EclipseLink添加自定义序列对象的示例,以解决此问题:http://helpdesk.ibs-aachen.de/2009/08/27/eclipselink-ms-sql-server-identity/