Deskriptory implementace serveru WebLogic pro objekty typu persistent bean spravované kontejnerem umožňují aplikacím používat funkci pro automatické generování databázových posloupností (klíčů). Při použití této funkce nemusí aplikace WebLogic obsahovat kód pro generování dalšího klíče posloupnosti při vytváření objektů CMP EJB. Při migraci aplikací WebLogic, které zahrnují automatické generování posloupností, musí být přidán kód aplikace pro generování identifikátoru posloupnosti pro nové položky.
Soubor weblogic-cmp-rdbms-jar.xml obsahuje informace pro objekty EJB entity, které používají perzistenci založenou na WebLogic RDBMS.
Toto pravidlo prochází konfigurací prvků automatic-key-key-generation serveru WebLogic a poskytuje informace o migraci pro typ generátoru Oracle.
Tento příklad zobrazuje prvek, který bude označen tímto pravidlem:
Položka generator-name označuje název z tabulky Oracle DUAL, který má být použit pro generování další posloupnosti.
K získání dalšího pořadového čísla může být například použit generator_name sequence_id, následující příkaz SQL.
Pokud toto pravidlo označí položky ve vašem deskriptoru implementace weblogic-cmp-rdbms-jar.xml, budete muset provést ruční úpravu kódu EJB k vytvoření klíčů. Tento postup je třeba provést před opětovným generováním stubů EJB pro server WebSphere Application Server. Následující příklady ukazují potenciální cestu migrace.
ejbCreate a ejbPostCreate objektu typu entity bean.ejbCreate a ejbPostCreate.create domovského místa EJB.create(), aby bylo předáno další pořadové číslo.Následující příklady vysoké úrovně ukazují, jak nahradit funkčnost automaticky generované logiky klíče Oracle. Podobný kód budete muset napsat pro každý objekt typu CMP bean, který používá automaticky generovaná pořadová čísla Oracle. Můžete vytvořit třídy nápovědy obslužného programu, abyste zkombinovali obecnou logiku, která generuje pořadová čísla pro každý objekt typu bean.
ejbCreate a ejbPostCreate objektu typu entity bean.Před:
Po:
ejbCreate.create domovského místa EJB.Před:
Po:
create(), aby bylo předáno další pořadové číslo.