我试图做一个Hibernate Envers实现与Spring,JBoss和Maven的结合。Hibernate Envers与JBoss,Spring和Maven - 不写审计记录
我有以下几点:
- spring.version:3.1.0.RELEASE
- hibernate.version:3.5.0决赛
- log4j.version:1.2.14
- 的JBoss -as-7.1.1.Final
- MySQL数据库
在pom.xml我已经添加了必需的hiber内特 - envers:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<version>${hibernate.version}</version>
</dependency>
在我的Hibernate持久性类,我进口下列
import org.hibernate.envers.Audited;
所以看起来
@Entity
@Indexed
@Audited
@Table(name = "COM_TEST")
public class MyTest extends AbstractReferenceDataObject { ...
我已经确保有一个COM_TEST_AUD db表与相关的数据库列以及一个REVINFO数据库表。
当我运行我的代码时,它使用现有的hibernate实现更新COM_TEST中的记录。但是没有任何内容写入到COM_TEST_AUD或REVINFO数据库表中。
,我有以下特性在我的persistence.xml
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>
<property name="hibernate.connection.autocommit" value="true" />
<property name="hibernate.hbm2ddl.auto" value="validate"/>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
<property name="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.SingletonEhCacheProvider"/>
<property name="hibernate.search.default.directory_provider" value="org.hibernate.search.store.FSDirectoryProvider"/>
<property name="hibernate.search.default.indexBase" value="./lucene/indexes"/>
<property name="hibernate.search.default.batch.merge_factor" value="10"/>
<property name="hibernate.search.default.batch.max_buffered_docs" value="10"/>
</properties>
我已经试过几乎所有我能想到的。我可以看到我什么时候启动JBoss,它确实说明了它是如何需要的,并且罚款COM_TEST_AUD和REVINFO,所以看起来像那样。
我只是不能解决它为什么不写入数据库。没有什么写入日志文件和我有日志记录设置为:
<logger category="org.hibernate">
<level name="DEBUG"/>
</logger>
我注意到,在JBoss模块目录下,它使用休眠,envers-4.0.1.Final.jar:
jboss-as-7.1.1.Final\modules\org\hibernate\envers\main
我已经改变了我的项目的pom.xml是不是3.5.0决赛4.0.1.Final,但它并没有区别
是否有人可以帮忙吗?
首先要检查的是事务设置。你使用什么样的交易? Envers听众是否在所有人都打电话时坚持一个实体? – adamw