我正在使用EclipseLink,因此我可以在oracle中進行審計,以便我可以使用純JDBC與V$session
進行審計,並且我可以使用這種方式在oracle中審計應用程序名稱,但是在EclipseLink JPA中我無法設置要審覈的應用程序名稱,我一直在嘗試的方式是通過動態設置我想要使用SessionCustomizer
的會話參數,但它不會執行應有的操作...沒有顯示錯誤,但不會審計名稱在Oracle ......我有時間這一點,並沒有結果掙扎,我使用的代碼是:使用EclipseLink對Oracle進行審計JPA
的定製類是:
package com.util;
import org.eclipse.persistence.config.SessionCustomizer;
import org.eclipse.persistence.sessions.Session;
public class ProgramCustomizer implements SessionCustomizer {
public void customize(Session s) throws Exception {
//s.getDatasourceLogin().setProperty("v$session.program","Employees"); //tried with this method
//s.getLogin().setProperty("v$session.program","Employees"); //tried with this one as well
}
}
通過使用註釋行以上,這是爲了工作,沒有工作的一個...
也試過這些線路將改變這些的:
沒有工作過。
我讀日食鏈接http://wiki.eclipse.org/Configuring_a_Session_(ELUG)並且在這樣做的話......
的方法來編輯爲:
public void edit(Employee employee) {
emProperties.put(PersistenceUnitProperties.SESSION_CUSTOMIZER, "com.util.ProgramCustomizer");
factory = Persistence.createEntityManagerFactory("EJBLocalPU", emProperties);
em = factory.createEntityManager();
em.merge(employee);
}
它執行合併得很好,但不審覈的應用名字我想要進入數據庫。
你對如何解決這個問題有任何想法。