런타임 시 사용자 제어 파인더 SQL 동적 개선을 사용 가능으로 설정해야 하는
엔터프라이즈 Bean을 나타내는 데 사용됩니다.
이 특성은 서버 레벨에 적용됩니다. 액세스 목적이 Update인 사용자 제어 파인더(접두부 이름이 find)를 정의한 모든 EJB 1.1 홈 인터페이스는 지정된
분리 레벨을 기준으로 사용자 제어 파인더 SQL 동적
개선을 위한 후보입니다. 백엔드 데이터 저장이 특정 SQL 시멘틱을 필요로 하는 경우 이것이 적용됩니다. 사용되는 특정 SQL은 응용프로그램에서 Bean에 대해 선택한 분리 레벨뿐만 아니라 사용 중인 백엔드 데이터베이스에 따라 다릅니다. 모두로 설정하면 사용자 제어 파인더 SQL 동적 개선은 컨테이너에 설치된 모든 Bean에 정의된 모든 사용자 제어 파인더에 대해 사용 가능하게 됩니다. J2EENAME[:J2EENAME](여기서, J2EENAME은
완전한 패키지 또는 Bean 이름)으로 설정하면 사용자 제어 파인더 SQL 동적 개선은 컨테이너에 설치되고 선언된 Bean 이름으로 표현되는 Bean에 있는 사용자 제어 파인더에 대해서만 사용 가능하게 됩니다.
주: 몇몇 응용프로그램은 수동으로 코딩된 사용자 제어 파인더를 사용하거나
SELECT 조작에 이미 SQL 잠금 절이나
ORDER BY 및
DISTINCT를 포함하고 있을 수 있습니다. 이러한 경우, 런타임이
SQL 동적 개선을 시도하면 기반 백엔드 데이터 저장에 잘못된 SQL 문이 도입될 가능성이 있습니다. 응용프로그램에 이러한 사용자 제어 파인더가 있는 경우, JVM 특성
com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent에 값을 지정할 때 주의해야 합니다.
값을
모두로 설정하면 사용자 제어 파인더 SQL 동적 개선은 Application Server에 설치된 모든 Bean에서
발견할 수 있듯이 액세스 목적이
Update로 정의된 모든 사용자 제어 파인더 메소드에서 발생할 수 있으며 해당 사용자 제어 파인더의 서브세트에 잘못된 SQL이 도입될 수 있습니다.
이를 막으려면 서버 전체 설정을 모두로 설정하지 마십시오. 대신 Bean 메소드 레벨 특성,
com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent.methodLevel를 사용하여
Bean마다 런타임 시에 사용자 제어 파인더 SQL 동적 개선을 수행해야 하는 사용자 제어 파인더 메소드만을 표시하십시오.