我有像A类这样的域类,它继承了B和C类。我不希望在A类级别进行任何乐观锁定,但我希望在B类级别而不是在C类级别以及在表tableperhierarchyarchy中使用乐观锁定。
我曾尝试添加
在A类映射关闭和
在B类映射中。但是,即使对于B类对象,它也总是使版本字段为null。还有其他人也遇到过这样的问题吗?
我正在使用Grails 2.1.0和groovy 1.8.0。
最佳答案
在Hibernate中这似乎是不可能的。有一种方法可以将NONE指定为乐观锁类型but in a hierarchy, it can be done only on the root entity。
您可以通过另一个抽象类A
扩展VersionedA
类。然后所有版本化的实体类都可以从VersionedA
派生,非版本实体类仍可以直接扩展A
。