3

私はebeanを使用しています。非常に使いやすいですが、カスタム インデックスの作成方法がわかりません。

@Entity
@Table(name="users")
public class User {
    public String name;

    // how to create index for this column?
    public long displayOrder;
}

列のインデックスを作成しようとしましたdisplayOrderが、どうすればよいですか?

これには注釈がなく、生成された ddl ファイルは毎回再作成されるため、そこに独自の ddl ステートメントを追加することはできません。また、データベースに直接インデックスを追加するのは便利ではありません。

それを行うための簡単な解決策はありますか?

4

1 に答える 1

6

直接的な答えはありませんが、しばらく気をつけてください。

注釈を介して「KEY」インデックスを宣言する方法はありません。追加できる@Column(unique=true)のは(一意のフィールドが必要な場合)のみです。

もちろん、主キーの場合は、@Id注釈を使用する必要があります。

一方、毎回自動DDL作成を使用することはお勧めしません。次の進化の適用後にすべてのDB構造とデータが破壊されることを忘れないでください!!! 代わりに、次のようにしてください。

  • 最初のステップでできるだけ多くのモデルを準備し、自動DDLを使用してそれをDBに適用します
  • Ebeanの自動生成を無効にする
  • 欠落している要素を追加するために、独自の進化(2.sql、3.sqlなど)の使用を開始します-欠落しているインデックスの例のように。
  • 決して元に戻さないでください:)これからは、既存のテーブルを変更する必要があります。代わりに、毎回最初から作成します。
于 2012-12-03T12:35:51.077 に答える