Hibernate - MySql, столбец Tinyint

Я пытаюсь отобразить столбец tinyint(1) в Hibernate. Для требований мне нужно сохранить значение "2" в столбце, но я не могу изменить его тип sql. Если я объявлю его как Integer в моем классе, проверка гибернации завершится неудачно. Как я могу заставить проверку работать и иметь столбец int или byte для сохранения значения 2 в нем?

это мой код:

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

Мне нужно сохранить значение 2 в столбце флага

2 ответа

Решение

Пытаться sql-type="BIT" вместо sql-type="TINYINT"

Просто выполните ниже заявление

alter table my_table modify column my_col tinyint;

На самом деле, некоторые фреймворки трактуют tinyint (1) как логический тип, что означает, что он принимает только 0 и 1, даже tinyint может обрабатывать до 127 для знака и до 255 для значения без знака.

Согласно mysql, tinyint(1) аналогичен tinyint или tinyint(4), но это свойство фреймворка, которое обрабатывает tinyint (1) как логическое значение, а tinyint(2) или просто tinyint как обычное целое число.

Другие вопросы по тегам