JPA EclipseLink Auditing for Oracle issue with SessionCustomizer...
- by enrique
I was trying to use the SessionCustomizer for auditing with v$session.program for oracle and it works with JDBC but i need it working with JPA, so i read a bit more the documentation for SESSION_CUSTOMIZER in this site: http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#EclipseLink_JPA_Persistence_Unit_Properties_for_Customization_and_Validation
but had not lucky in making it work in passing the program name parameter to oracle with the v$session.program... i was using the SessionCustomizer and it is an interface so my code is as follows:
package com.util;
import org.eclipse.persistence.config.SessionCustomizer;
import org.eclipse.persistence.sessions.Session;
/**
*
* @author xkalibur
*/
public class ProgramCustomizer implements SessionCustomizer{
public void customize(Session s) throws Exception {
s.getDatasourceLogin().setProperty("v$session.program","Customers");
}
}
then in CustomerFacade :
ProgramCustomizer pc=new ProgramCustomizer();
public void edit(Customer customer) {
emProperties.put(PersistenceUnitProperties.SESSION_CUSTOMIZER,pc);
em=factory.createEntityManager(emProperties);
em.merge(customer);
}
and returns the following error:
javax.ejb.EJBException
Caused by: java.lang.NullPointerException
at com.facades.CustomerFacade.edit(CustomerFacade.java:48)
please some help...