집 >데이터 베이스 >MySQL 튜토리얼 >Hibernate가 MySQL/MariaDB에서 잘못된 'type=MyISAM' 구문을 생성하는 이유는 무엇이며 어떻게 해결할 수 있습니까?
Hibernate에서 생성된 DDL의 잘못된 구문 오류 "type= MyISAM"
MySQL을 기본 데이터베이스로 사용하여 Hibernate에서 테이블을 생성할 때, "SQL 구문에 오류가 있습니다. 근처에서 사용할 올바른 구문은 MariaDB 서버 버전에 해당하는 설명서를 확인하세요."라는 오류가 발생할 수 있습니다. 1행의 'type = MyISAM'."
원인:
이 오류는 일반적으로 테이블 정의를 생성하는 데 사용된 MySQLDialect 언어가 해당 버전에 적합하지 않기 때문에 발생합니다. 사용 중인 MySQL 또는 MariaDB의 Hibernate 버전 5.x 및 이전 버전에서 MySQLDialect는 "type = MyISAM" 구문을 포함하는 MySQL 4.x 이전 버전용으로 설계되었습니다. 그러나 MySQL 5.5 이상에서는 이 구문이 더 이상 사용되지 않으며 "ENGINE = MyISAM"으로 바꿔야 합니다.
해결책:
이 오류를 해결하려면 Hibernate가 사용하는 방언을 데이터베이스와 호환되는 방언으로 업데이트해야 합니다. 버전:
구성:
제공된 구성 파일에서 MySQL 5.5에 적합하지 않은 org.hibernate.dialect.MySQLDialect를 사용하고 있습니다. 또는 나중에. 위에서 언급한 호환 가능한 방언 중 하나를 사용하려면 구성을 업데이트해야 합니다. 예:
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
Hibernate 6에 대한 참고 사항:
Hibernate 6에서 방언은 실제 연결된 버전을 기반으로 스스로 구성됩니다. 따라서 Hibernate 6을 사용하고 있다면 MySQLDialect 또는 MariaDBDialect를 사용하도록 되돌려야 합니다.
위 내용은 Hibernate가 MySQL/MariaDB에서 잘못된 'type=MyISAM' 구문을 생성하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!