いいえ、あなたがすることはできません。ジェネレータは識別子列にのみ適用できます。
このシーケンスは、必ずスクリプト(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;