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...