J'essaye d'accéder à la base de données d'Hibernate Interceptor (je dois auditer seulement des objets spécifiques qui sont définis dans une table différente) et l'accès est infranchissable (j'obtiens des exceptions). Existe-t-il un moyen d'accéder à la base de données dans l'intercepteur?Comment allons-nous accéder à la base de données de AuditTrailInterceptor?
Mon AuditTrailInterceptor est:
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);
}
Le AuditTrailInterceptor défini dans le applicationContext.xml comme une propriété
<bean id="onboardSessionFactory" parent="sessionFactory">
<property name="entityInterceptor">
<bean class="com.mycompany.daoimpl.AuditTrailInterceptor" />
</property>
</bean>
Merci!