Nová verze Ujorm 1.56 nabízí rozšířené možnosti tvorby databázových indexů pomocí anotace @Column (umístěné nad klíčem typu Key<A,B>) se dvěma metodami:
Příklad použití:
Databázový sloupec COUNT tedy bude obsažen ve dvou různých indexech, z toho jeden bude kompozitní.
Aby vznikl unikátní kompozitní index, musí být jeho jméno vloženo vždy metodou uniqueIndex(). Pořadí sloupců v kompozitním klíči je určeno pořadím Klíčů. Pokud budeme potřebovat jiné pořadí, můžeme použít rozšířenou implementaci třídy pro sestavení indexů z frameworku Ujorm, která akceptuje pořadí sloupce (v kompozitním indexu), které se vkládá za název indexu. Výchozí hodnota je 10, dva sloupce se stejným číslem pak kopírují pořadí Klíče. Ukázka použití je tady:
Rozšířenou implementaci třídy pro sestavení indexů lze nakonfigurovat (v době sestavení meta-modelu) příkazem:
Je zřejmé, že parametr INDEX_MODEL_BUILDER může referencovat také vlastní implementaci, která pak může sestavovat model indexů podle úplně jiných pravidel a anotací. Specifické požadavky lze potom řešit zcela mimo framework Ujorm.
- index()
- uniqueIndex()
Příklad použití:
private static final String IDX_STATE_COUNT = "idx_state_count"; private static final String IDX_COUNT = "idx_count"; @Column(index = IDX_STATE_COUNT) public static final KeySTATE = newKey(); @Column(index = {IDX_STATE_COUNT, IDX_COUNT}) public static final Key COUNT = newKey();
Databázový sloupec COUNT tedy bude obsažen ve dvou různých indexech, z toho jeden bude kompozitní.
Aby vznikl unikátní kompozitní index, musí být jeho jméno vloženo vždy metodou uniqueIndex(). Pořadí sloupců v kompozitním klíči je určeno pořadím Klíčů. Pokud budeme potřebovat jiné pořadí, můžeme použít rozšířenou implementaci třídy pro sestavení indexů z frameworku Ujorm, která akceptuje pořadí sloupce (v kompozitním indexu), které se vkládá za název indexu. Výchozí hodnota je 10, dva sloupce se stejným číslem pak kopírují pořadí Klíče. Ukázka použití je tady:
private static final String IDX_STATE_COUNT = "idx_state_count"; @Column(index = IDX_STATE_NOTE + "#30") public static final KeySTATE = newKey(); @Column(index = IDX_STATE_NOTE + "#20") public static final Key COUNT = newKey();
Rozšířenou implementaci třídy pro sestavení indexů lze nakonfigurovat (v době sestavení meta-modelu) příkazem:
MetaParams params = new MetaParams(); params.set(MetaParams.INDEX_MODEL_BUILDER, IndexModelOrderedBuilder.class); ormHandler.config(params);
Je zřejmé, že parametr INDEX_MODEL_BUILDER může referencovat také vlastní implementaci, která pak může sestavovat model indexů podle úplně jiných pravidel a anotací. Specifické požadavky lze potom řešit zcela mimo framework Ujorm.
Žádné komentáře:
Okomentovat