Hibernate에서 생성된 DDL에서 'type=MyISAM' 구문 오류가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-15 07:16:02
원래의
306명이 탐색했습니다.

Why am I getting the

Hibernate 생성 DDL의 잘못된 구문 오류 "type=MyISAM"

Java 코드에서 사용자는 다음 구문 오류를 경험할 수 있습니다.

Caused by :`com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException`: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB' server version for the right syntax to use near 'type = `MyISAM`' at line 1
로그인 후 복사

이 오류는 Hibernate가 조각을 포함하는 테이블 생성 쿼리를 생성할 때 발생합니다. "유형 = MyISAM." 그러나 이 구문은 MySQL 4.0에서 더 이상 사용되지 않으며 5.5에서 제거되었습니다.

Dialect Configuration

문제는 org.hibernate.dialect.MySQLDialect 방언을 사용하는 데서 발생합니다. , 이는 MySQL 4.x 이하 버전용입니다. MariaDB의 경우 MariaDB 버전과 버전에 따라 다음 방언 중 하나를 사용하는 것이 좋습니다. 최대 절전 모드:

  • org.hibernate.dialect.MariaDBDialect
  • org.hibernate.dialect.MariaDB53Dialect
  • org.hibernate.dialect.MariaDB106Dialect(또는 이상)

MySQL의 경우 또는 MariaDB 방언을 사용할 수 없는 경우 다음을 고려하세요. 사용:

  • org.hibernate.dialect.MySQL5Dialect
  • org.hibernate.dialect.MySQL55Dialect
  • org.hibernate.dialect.MySQL57Dialect
  • org.hibernate.dialect.MySQL8Dialect
  • 변형 이러한 방언 중 (예: org.hibernate.dialect.MySQL57InnoDBDialect)

Hibernate 6 방언

Hibernate 6을 사용하면 사용자는 MySQLDialect를 사용하도록 다시 전환해야 합니다. MariaDBDialect는 실제 연결된 언어를 기반으로 자체적으로 구성됩니다. 버전입니다.

위 내용은 Hibernate에서 생성된 DDL에서 'type=MyISAM' 구문 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿