Боюсь, я не смог найти ничего полезного в Google по следующей проблеме.
Проблема
в моей Spring Boot (3.3.3) ) app создание таблицы в MariaDB (Docker, mariadb:11.2.2-jammy) завершается неудачно для следующего объекта:
@Entity
public final class Answer {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
@Column(columnDefinition="LONGTEXT")
private String text;
}
Журналы
Hibernate: create table `answer` (`id` bigint not null, `text` `LONGTEXT` not null, primary key (`id`)) engine=InnoDB
2024-09-19 23:59:21.367 [main] WARN o.m.jdbc.message.server.ErrorPacket : Error: 4161-HY000: Unknown data type: 'LONGTEXT'
2024-09-19 23:59:21.367 [main] WARN o.h.t.s.i.ExceptionHandlerLoggedImpl: GenerationTarget encountered exception accepting command : Error executing DDL "create table `answer` (`id` bigint not null, `text` `LONGTEXT` not null, primary key (`id`)) engine=InnoDB" via JDBC [(conn=415) Unknown data type: 'LONGTEXT']
Причина
Проблема в том, что в сгенерированном коде SQL LONGTEXT заключен в кавычки. Я могу вручную запустить код при удалении кавычек. Я не понимаю, почему здесь кавычки.
Основная причина?
Есть идеи?
Дополнительная информация:
pom.xml
org.springframework.boot
spring-boot-starter-data-jpa
com.h2database
h2
runtime
org.mariadb.jdbc
mariadb-java-client
3.4.1
Строки конфигурации среды в Dockerfile:
- SPRING_DATASOURCE_URL=jdbc:mariadb://mariadb:3306/${MYSQL_DATABASE}
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver
- SPRING_DATASOURCE_INITIALIZATION_MODE=always
- SPRING_H2_CONSOLE_ENABLED=false
- SPRING_JPA_HIBERNATE_DDL_AUTO=${SPRING_JPA_HIBERNATE_DDL_AUTO}
- SPRING_JPA_SHOW_SQL=true
- SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.MariaDBDialect
Файл .env для Dockerfile
MYSQL_DATABASE=redacted
SPRING_JPA_HIBERNATE_DDL_AUTO=create
SPRING_H2_CONSOLE_ENABLED=false
Подробнее здесь: https://stackoverflow.com/questions/790 ... d-database
Hibernate(?) цитирует тип данных при создании базы данных ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1727085676
Anonymous
Боюсь, я не смог найти ничего полезного в Google по следующей проблеме.
Проблема
в моей Spring Boot (3.3.3) ) app создание таблицы в MariaDB (Docker, mariadb:11.2.2-jammy) завершается неудачно для следующего объекта:
@Entity
public final class Answer {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
@Column(columnDefinition="LONGTEXT")
private String text;
}
Журналы
Hibernate: create table `answer` (`id` bigint not null, `text` `LONGTEXT` not null, primary key (`id`)) engine=InnoDB
2024-09-19 23:59:21.367 [main] WARN o.m.jdbc.message.server.ErrorPacket : Error: 4161-HY000: Unknown data type: 'LONGTEXT'
2024-09-19 23:59:21.367 [main] WARN o.h.t.s.i.ExceptionHandlerLoggedImpl: GenerationTarget encountered exception accepting command : Error executing DDL "create table `answer` (`id` bigint not null, `text` `LONGTEXT` not null, primary key (`id`)) engine=InnoDB" via JDBC [(conn=415) Unknown data type: 'LONGTEXT']
Причина
Проблема в том, что в сгенерированном коде SQL LONGTEXT заключен в кавычки. Я могу вручную запустить код при удалении кавычек. Я не понимаю, почему здесь кавычки.
Основная причина?
Есть идеи?
Дополнительная информация:
pom.xml
org.springframework.boot
spring-boot-starter-data-jpa
com.h2database
h2
runtime
org.mariadb.jdbc
mariadb-java-client
3.4.1
Строки конфигурации среды в Dockerfile:
- SPRING_DATASOURCE_URL=jdbc:mariadb://mariadb:3306/${MYSQL_DATABASE}
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver
- SPRING_DATASOURCE_INITIALIZATION_MODE=always
- SPRING_H2_CONSOLE_ENABLED=false
- SPRING_JPA_HIBERNATE_DDL_AUTO=${SPRING_JPA_HIBERNATE_DDL_AUTO}
- SPRING_JPA_SHOW_SQL=true
- SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.MariaDBDialect
Файл .env для Dockerfile
MYSQL_DATABASE=redacted
SPRING_JPA_HIBERNATE_DDL_AUTO=create
SPRING_H2_CONSOLE_ENABLED=false
Подробнее здесь: [url]https://stackoverflow.com/questions/79004841/hibernate-quotes-datatype-when-created-database[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия