私の現在のHibernate 4.1 + JPA 2 + Spring 3.1.1の設定では、生成されたcreate table
ステートメントはJSR 303 @javax.validation.constraints.NotNull
アノテーションを考慮しません。Spring 3.1.1でHibernate 4.1、JPA2を設定します。 JSR 303からDBスキーマを更新する注釈
クラスの宣言:create table
文の生成
@Entity
public class MenuItem implements Serializable {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String title;
@NotNull // <--- JSR 303 constraint annotation
private String description;
...
}
:私はJPA @javax.persistence.Column
注釈を追加する場合
create table menu_item (
id bigint generated by default as identity,
description varchar(255), // <--- should be not null
price binary(255),
title varchar(255),
primary key (id)
)
をしかし、create table
文が正しく生成されます。
クラスの宣言:
@Entity
public class MenuItem implements Serializable {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String title;
@NotNull // <--- JSR 303 constraint annotation
@Column(nullable=false) // <--- JPA annotation
private String description;
...
}
create table
文の生成:
create table menu_item (
id bigint generated by default as identity,
description varchar(255) not null, // <--- generated not null
price binary(255),
title varchar(255),
primary key (id)
)
はJSR 303注釈からDBスキーマを生成するために、Hibernateは4.1 + JPA 2 +春の3.1.1を設定することが可能ですか?