我已经为我的REST资源实现了乐观锁,这些资源与数据库表具有一对一的映射关系,通过将在GET请求中返回的版本号传回到PUT请求中。如果在我执行GET和PUT之间数据库中的版本号发生更改,则会发生乐观锁异常。这是一个相当简单的设计。
现在,如何为映射到多个数据库表的复合REST资源实现相同的操作呢?我不想传回多个版本字段(每个与复合资源相关的数据表都需要一个版本字段)。复合资源的一个简单示例是/FooBar,其中/Foo和/Bar是非复合资源。
我基本上正在寻找Fowler Coarse Grained Locking模式的REST实现示例:http://martinfowler.com/eaaCatalog/coarseGrainedLock.html。
现在,如何为映射到多个数据库表的复合REST资源实现相同的操作呢?我不想传回多个版本字段(每个与复合资源相关的数据表都需要一个版本字段)。复合资源的一个简单示例是/FooBar,其中/Foo和/Bar是非复合资源。
我基本上正在寻找Fowler Coarse Grained Locking模式的REST实现示例:http://martinfowler.com/eaaCatalog/coarseGrainedLock.html。