Hibernate Interceptorからデータベースにアクセスしようとしています(別のテーブルで定義されている特定のオブジェクトのみを監査する必要があります)が、アクセスできません(例外が発生します)。インターセプターでデータベースにアクセスする方法はありますか?
私のAuditTrailInterceptorは次のとおりです。
public class AuditTrailInterceptor extends EmptyInterceptor {
public boolean onSave(Object entity, Serializable id, Object[] state, String[]
propertyNames, Type[] types) {
AuditTrailService serviceComp = (AuditTrailService) SpringBeanFinder
.findBean(SpringBeanFinder.AUDIT_SERVICE);
serviceComp.getObjectAuditCompanies(theCompany)
return false;
}
}
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
public Collection<ObjectAuditCompany> getObjectAuditCompanies(Company company){
return objectAuditCompanyDAO.findByQuery("from " + objectAuditCompanyDAO.getPersistentClass().getName() + " where company=? ", company);
}
applicationContext.xmlでプロパティとして定義されたAuditTrailInterceptor
<bean id="onboardSessionFactory" parent="sessionFactory">
<property name="entityInterceptor">
<bean class="com.mycompany.daoimpl.AuditTrailInterceptor" />
</property>
</bean>
ありがとう!