Mit dieser Eigenschaft können Sie angeben, für welche Enterprise-Beans die dynamische SQL-Erweiterung
angepasster Finder zur Laufzeit aktiviert werden soll.
Diese Eigenschaft wird auf Serverebene wirksam. Alle in der Home-Schnittstelle der EJB Version 1.1
definierten angepassten Finder (Präfix find) mit der Zugriffsart Update
sind je nach angegebener Isolationsstufe Kandidaten für die dynamische SQL-Erweiterung. Wenn der Back-End-Speicher eine spezielle SQL-Semantik erfordert, wird diese angewendet. Die jeweilig verwendete SQL
variiert mit der für die Beans
in der Anwendung ausgewählten Isolationsstufe und dem verwendeten Back-End-Datenspeicher. Bei der Eigenschafteneinstellung all wird die dynamische
SQL-Erweiterung von allen angepassten Findern aktiviert, die in den im Container installierten
Beans definiert sind. Bei der Eigenschafteneinstellung J2EENAME[:J2EENAME] (J2EENAME steht für den
vollständig qualifizierten Paket- oder Bean-Namen) wird die die dynamische SQL-Erweiterung
nur für die angepassten Finder aktiviert, die in den im Container definierten Beans
definiert sind und den angegebenen Bean-Namen entsprechen.
Anmerkung: Einige Ihrer Anwendungen verwenden möglicherweise angepasste Finder, die
manuell codiert wurden und bereits SQL-Sperrklauseln oder die Schlüsselwörter
ORDER BY und
DISTINCT
in der Operation
SELECT enthalten. Wenn die Laufzeitumgebung in solchen Fällen eine
dynamische SQL-Erweiterung versucht, ist es möglich, dass ungültige SQL-Anweisungen in den
zugrundeliegenden Back-End-Datenspeicher eingefügt werden. Falls eine Anwendung solche angepassten Finder enthält, müssen Sie bei der Angabe des Wertes für
die JVM-Eigenschaft
com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent sehr sorgfältig vorgehen.
Der Wert
all bewirkt, dass für jede
angepasste Finder-Methode, die mit der Zugriffsart
Update
definiert ist, in allen im Anwendungsserver installierten Beans eine dynamische SQL-Erweiterung
durchgeführt wird, woraufhin ungültige SQL-Anweisungen für diese angepassten Finder eingefügt werden.
Um dies zu verhindern, setzen Sie die serverweite Einstellung nicht auf all. Verwenden
Sie stattdessen die Eigenschaft der Methodenebene,
com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent.methodLevel, um für jede Bean nur
die angepassten Finder-Methoden anzugeben, für die zur Laufzeit eine dynamische
SQL-Erweiterung durchgeführt werden soll.