2010-05-24 2 views
1

안녕하십니까. 저는 EclipseLink와 Oracle과 함께 JPA를 DB로 사용하고 있습니다. 등록 정보를 설정해야합니다. v $ session of jdbc4 응용 프로그램에 식별 이름을 설정할 수 있습니다. 감사를 목적으로하지만 운이 좋게 설정할 필요가 없었습니다 .... 나는이 페이지의 예제에 따라 entitiyManager를 시도해 왔습니다. http://wiki.eclipse.org/Configuring_a_EclipseLink_JPA_Application_(ELUG) 오류를 표시하지는 않지만 응용 프로그램 이름을 전혀 설정하지 않습니다 ... 내가 볼 때 오라클의 감사에서 코드 "Customers"로 설정했지만 OS_program_name = JDBC Thin Client로 설정 한 이름으로 감사되지 않습니다. 코드의 속성이 제대로 설정되지 않고 문제가 어디에 있는지 알지 못합니다. 코드는 다음과 같습니다 :JPA (EclipseLink)로 응용 프로그램 이름을 설정하는 데 도움이 필요합니다.

,

는 사람이 어떻게 알 수 있습니까이이나 아이디어 ....

고마워요

답변

0

v$session.program는 JDBC 연결 속성이지만, 퍼시스턴스 유닛 속성 Persistence.createEntityManagerFactory 가져옵니다. 엔티티 관리자에 임의의 JDBC 속성을 전달하는 직접적인 방법은 없습니다.

그러나, EclipseLink가 당신은 SessionCustomizer를 사용할 수 있습니다

public class ProgramCustomizer extends SessionCustomizer { 
    @Override 
    public void customize(Session s) throws Exception { 
     s.getDatasourceLogin().setProperty("v$session.program", "Customers"); 
     super.customize(s); 
    } 
} 

-

emProperties.put(PersistenceUnitProperties.SESSION_CUSTOMIZER, "ProgramCustomizer"); 
관련 문제