«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как гарантировать, что Hibernate сохраняет значения перечисления при сопоставлении в столбце MySQL Enum?

Как гарантировать, что Hibernate сохраняет значения перечисления при сопоставлении в столбце MySQL Enum?

Опубликовано в 2025-02-27
Просматривать:459

How to Ensure Hibernate Preserves Enum Values When Mapping to a MySQL Enum Column?

сохранение значений перечисления в Hibernate: Устранение неполадок. При работе с перечисленными типами в Java крайне важно установить, как Hibernate отображает эти перечисления в базовую базу данных. Тем не менее, вы сталкиваетесь с следующей ошибкой: «Неправильный тип столбца в myApp.person для пола столбца. Найдено: enum, ожидается: целое число». Эта ошибка возникает, когда Hibernate ожидает, что гендерный столбец будет целым числом из -за перечисленного перечисленного как порядка или строки, в зависимости от спецификации аннотации @enumerated.

, чтобы решить эту проблему, вы можете явно указать определение столбца, используя ColumnDefinition ATTRIBUT "enum (" мужчина "," женщина ")") @Enumerated (enumtype.string) Private Gender Gender;

]

, предоставив определение столбца, вы поручите гибернате не угадать тип столбца, но придерживаться указанного определения.

Альтернативно, если вы не используете Hibernate для генерации своей схемы, вы можете удалить необходимость в определении столбца, настраиваемые им в Contrary значения:

] Таким образом, вы можете убедиться, что значения перечисления сохраняются в вашем java enum при синхронизации ваших сценариев Liquibase или SQL. 
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3