2011-04-01 87 views
0

我在Spring v3.0.5中使用Hibernate v3.6.0 Fianl。我配置了Envers的插入後審計偵聽器,並且在將數據插入主表後將其調用,但它並未插入到審計表中。它將主表的插入查詢打印到控制檯,但不是用於審計表。 我看到RelationDescription relDesc = entCfg.getRelationDescription(propertyName); EntitiesConfigurations類中的代碼和relDesc對於我的實體類的所有屬性都爲空。Hibernate Envers - 在Spring-Hibernate-envers應用程序中未插入審計表

我在我的實體類上使用JPA批註,但使用Hibernate ORM。我在我的課上有@審覈註釋。

插入主表後插入事件被調用,但在審計表中沒有數據。我調試了Envers代碼,它並沒有失敗。

我感謝您的幫助。

回答

0

如果您使用某種自動提交,Envers嚴重依賴於正確配置的事務管理,Envers不起作用。確保交易管理在您的案例中正確配置,請參閱10. Transaction Management13.3 Hibernate

+0

感謝您的快速響應。這裏是我從xml的事務配置:。我在我的服務上使用@Transactional註釋。我在websphere v6.1中運行應用程序。請讓我知道。\ – user686784 2011-04-01 16:00:47

+0

您對交易的回答使我朝正確的方向發展。我正在使用websphere,並且必須添加以下hibernate屬性才能使Envers正常工作:這些是的補充。 \t \t \t \t hibernate.transaction.factory_class = org.hibernate.transaction.CMTTransactionFactory \t \t \t \t hibernate.transaction.manager_lookup_class屬性= org.hibernate.transaction.WebSphereExtendedJTATransactionLookup 感謝您的幫助。 – user686784 2011-04-04 18:16:09