sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLを使用する1つのエンティティ用の複数のHibernateシーケンスジェネレータ

    いいえ、あなたがすることはできません。ジェネレータは識別子列にのみ適用できます。

    このシーケンスは、必ずスクリプト(hibernate.hbm2ddl.import_filesなど)を使用して作成してください。 ):

    create sequence subscription_code_1_seq start 1 increment 7
    

    次に、次のようなマッピングを使用します:

    @Id
    @SequenceGenerator(
            name="subscription_id_seq",
            sequenceName="subscription_id_seq",
            allocationSize=7
    )
    @GeneratedValue(
            strategy=GenerationType.SEQUENCE,
            generator="subscription_id_seq"
    )
    @Column(unique=true, nullable=false)
    private Integer id;
    
    @Column(
            name="code",
            nullable=false,
            unique=true,
            insertable = false,
            updatable = false,
            columnDefinition = "BIGINT DEFAULT nextval('subscription_code_1_seq')"
    )
    @Generated(GenerationTime.INSERT)
    private Integer code;
    


    1. SQLServerでデータベースを作成するときにデータファイルとログファイルの場所を指定する方法

    2. MySQLで小文字を含む行を見つける3つの方法

    3. ユーザーごとのOracle設定デフォルトスキーム(セッションを変更しない)

    4. SQL Serverで1時間ごとにストアドプロシージャを実行するにはどうすればよいですか?