2011-08-01 13 views
2
create table foo (id INT(10) not null ...) 

を経由して一定の長さであるように、私は上記のように長さの制限を指定したいと思います。私が指定する方法整数はJPAアノテーションの代わりに「INTEGER」としてIDを宣言する

私はhbm2ddlを自動的に生成するようにどのように私は、私のJPAモデルクラスに長さ制限を指定する必要があります

@Entity Fooクラス{

@Id 
@GeneratedValue(strategy = IDENTITY) 
@Column(name = "id", unique = true, nullable = false, insertable = false, updatable = false) 
private Integer id; 

... }

を使用

私の要件に応じてスキーマ。

+0

は、おそらくあなたがMySQLを使用している場合は、int型(10)を指定すると、実際のストレージ容量または整数の範囲を変更しないことを言及する価値があるしてみてくださいデータ型(固定)単純に整数データ型の表示幅を指定します。表示幅は、列に格納できる値の範囲を制限しません。また、列の表示幅より広い値が正しく表示されないこともありません。 [Numeric Types Ref](http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html) –

答えて

0
@Id 
@GeneratedValue(strategy = IDENTITY) 
@Column(name = "id",length=50, unique = true, nullable = false, insertable = false, updatable = false) 
private Integer id; 

あなたの場合、annotaion/JPAを使用しています。あなたはマッピングを使用した場合、次のように使用します。

<property name="id" type="Integer" length="20"/> 

この1

+2

数値型の列の長さの使用は機能しません。 '@ Column'のjavadocsから: '/** *(オプション)列の長さ。 ( *文字列型の列が使用されている場合にのみ適用されます) */ int length()既定値255; ' –

関連する問題