2016-03-21 5 views
-1

Я пытаюсь отобразить столбец tinyint (1) в Hibernate. Для требований мне нужно сохранить значение «2» в столбце, но я не могу изменить его тип sql. Если я объявляю его как целое в моем классе, то проверка спящего режима не выполняется. Как я могу получить работу проверки и иметь столбцы int или byte, чтобы сохранить значение 2 в нем?Hibernate - MySql, Tinyint column

это мой код:

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

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

+0

Добавить код в свой вопрос – whd

ответ

0

Попробуйте sql-type="BIT" вместо sql-type="TINYINT"

+0

Я пробовал это: <свойство name = "flag" type = "java.lang.Integer">, но проверка по-прежнему не удалась: Найдено: бит, ожидаемый: целое – vjok

+0

sql-type =" BIT "отлично поработал для меня! Спасибо!! – vjok

+0

Вау, я удалил этот комментарий, потому что думал, что это глупо. Я рад, что это помогло. Не могли бы вы принять мой ответ? Благодарю. –

0

Просто запустите ниже Оператор-

alter table my_table modify column my_col tinyint; 

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

Как и в случае с mysql, tinyint (1) аналогичен tinyint или tinyint (4), но это свойство framework, которое рассматривает tinyint (1) как логическое, но tinyint (2) или просто tinyint как нормальное целое число.

+0

Я не могу это сделать – vjok

+0

спросить человека, который управляет вашей БД. –

Смежные вопросы