Hibernate 및 Mysql 5.5 테이블 생성 오류 - type=InnDB
1237 단어 Hibernate
프로그램을 처음 실행할 때 Hibernte의 Hibernate를 사용합니다.hbm2 dd l.auto는create로 설정되어 있으며 Hibernate가 자동으로 테이블을 만드는 데 도움을 주지만 성공하지 못했습니다. 다음과 같은 정보를 보고했습니다.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 1
나는 왜 이전에 이런 문제가 없었는지 매우 궁금하다.나중에 생각해 보니까 제 개발 환경과 관련이 있지 않을까요.기존에 사용하던 MySql 버전은 5.0이었는데 지금은 5.5로 바뀌었으니 이와 관련이 있지 않을까.
나중에 인터넷에서 찾아보니 type=InnoDB는 5.0 이전에는 사용할 수 있었지만 5.1 이후에는 안 됐기 때문이다.만약 우리가 type=InnoDB를engine=InnoDB로 바꾸면 이런 문제가 없을 것이다.그런데 저는 Hibernate를 사용해서 자동으로 시계를 만들어 주고 싶어요. 어떡하지?이것은 우리가 지정한 데이터베이스 사투리(dialect)와 관련이 있다.
이전에 내 구성은 다음과 같습니다.
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
다음과 같이 변경되었습니다.
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
좋아, 이렇게 하면 문제가 해결될 거야.요약:
Using 'MySQL5InnoDBDialect' works with 5.1 and 5.5.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[JPA] 즉시로딩(EAGER)과 지연로딩(LAZY) (왜 LAZY 로딩을 써야할까?) (1)Proxy는 이 글의 주제인 즉시로딩과 지연로딩을 구현하는데 중요한 개념인데, 일단 원리는 미뤄두고 즉시로딩과 지연로딩이 무엇인지에 대해 먼저 알아보자. 눈 여겨 볼 곳은 'fetch = FetchType.EAGER...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.