3

休止状態によって、いくつかの整数フィールドを持つ MySQL データベースにマップされたエンティティがあります。

@Column(name = "BVE_YEAR", nullable = true, length = 4)
private Integer year;

テーブルは Hibernate によって自動的に作成されます ( hibernate.hbm2ddl.auto=create)

Integeror型のすべてのフィールドは、注釈int内で指定した内容に関係なく、長さ 10 で作成されます。@Column

列の長さを設定するにはどうすればよいですか (一部のALTER TABLEスクリプトを除く)。

助けとアイデアを事前にありがとう

4

3 に答える 3

3

クリリスが言ったように、示されている長さは重要ではありません. 「より小さな」タイプが必要な場合はTINYINT、mysql で使用できます。

休止状態の自動化を使用せずに、SQL スクリプトを使用して運用データベースを作成することをお勧めします。

于 2013-08-14T20:38:23.717 に答える
1

および属性@Columnで注釈を使用できると思います。precisionscale

length属性は、文字列プロパティのみに影響します。

詳細については、2.2.2.3 章を参照してください。列属性の宣言。

うまくいかない場合は、hibernate バリデーターのアノテーションを試してみ@Minてください。@Max@Range

于 2013-08-04T21:30:19.507 に答える
1

(オプション) 列の長さ。(文字列値の列が使用されている場合にのみ適用されます。)

列幅を明示的に設定したい場合はcolumnDefinition、すべてを使用して手動で指定する必要があります。@Minより明確ではない狭い列が必要な特定の理由はありますか?

于 2013-08-04T21:30:20.003 に答える