我正在使用Spring配置的hibernate应用程序.有事务管理和auditInterceptor定义为entityInterceptor.当我调试代码时,我正在输入entityInterceptors方法并且正在设置日期,但是在保存结束时它们不在数据库中:(.
考虑以下配置
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<value>
hibernate.dialect=${hibernate.dialect}
hibernate.show_sql=${hibernate.show_sql}
hbm2ddl.auto=${hbm2ddl.auto}
</value>
</property>
<property name="schemaUpdate">
<value>true</value>
</property>
<property name="annotatedClasses">
<list>
.. bunch of annotatedClasses" ...
</list>
</property>
</bean>
<bean name="auditInterceptor" class="com.mbalogos.mba.dao.AuditInterceptor" />
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
<property name="entityInterceptor" ref="auditInterceptor"/>
</bean>
<bean id="namedQueryDao" class="com.mbalogos.mba.dao.NamedQueryDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
Run Code Online (Sandbox Code Playgroud)
并遵循entityInterceptor
public class AuditInterceptor extends EmptyInterceptor{
/**
*
*/
private static final long serialVersionUID = -8374988621501998008L;
@Override
public boolean onSave(Object entity, Serializable id, Object[] state, …Run Code Online (Sandbox Code Playgroud)