@Index の使用
Contact および PhoneNumber はいずれも @Index アノテーションを使用して、データベース・スキーマにインデックスを定義します。関連するコードは以下のとおりです。
Contact
package contacts;
import com.jalapeno.annotations.*;
import java.util.ArrayList;
import java.util.List;
@Access(type = AccessType.FIELD, level = AccessLevel.PRIVATE)
@Index(name = "NameIndex", propertyNames = { "name" },
isUnique = false, isPrimaryKey = false)
public class Contact {
...
データベース・スキーマの対応するインデックスの仕様は以下のとおりです。
-
インデックス名は NameIndex です。
-
インデックスは、Caché スキーマの name プロパティに定義します。
-
インデックスは一意でなく、主キーでもありません。
Contact の Caché クラス定義における、対応するインデックス定義は以下のとおりです。
Index NameIndex On name;
PhoneNumber
package contacts;
import com.jalapeno.annotations.*;
@Access(type = AccessType.FIELD, level = AccessLevel.PRIVATE)
@Index(name = "NumberIndex", propertyNames = { "number" }, isPrimaryKey = true)
public class PhoneNumber {
...
データベース・スキーマの対応するインデックスの仕様は以下のとおりです。
-
インデックス名は NumberIndex です。
-
インデックスは、Caché スキーマの number プロパティに定義します。
-
このインデックスは主キーです。
PhoneNumber の Caché クラス定義における、対応するインデックス定義は以下のとおりです。
Index NumberIndex On number [ PrimaryKey, Unique ];