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/