0

Hibernate で tinyint(1) 列をマップしようとしています。要件として、列に値「2」を保存する必要がありますが、SQL タイプを変更できません。クラスで整数として宣言すると、休止状態の検証が失敗します。検証を機能させ、列 int または byte に値 2 を保存するにはどうすればよいですか?

これは私のコードです:

<property name="flag" type="java.lang.Integer"> 
<column name="flag" not-null="true" sql-type="TINYINT"/> 
</property>

値 2 をフラグ列に保存する必要があります

4

2 に答える 2

0

sql-type="BIT"代わりに 試してください sql-type="TINYINT"

于 2016-03-21T10:41:30.477 に答える
0

以下のステートメントを実行するだけです-

alter table my_table modify column my_col tinyint;

実際、いくつかのフレームワークは tinyint(1) をブール型として扱い、0 と 1 のみを受け入れることを意味します。

mysql によると、tinyint(1) は tinyint または tinyint(4) と同じですが、これは tinyint(1) をブール値として扱いますが、tinyint(2) または tinyint を通常の整数として扱うフレームワーク プロパティです。

于 2016-03-21T10:41:48.993 に答える