JPA / Hibernate работает с Postgresql, но не с Mysql - PullRequest
1 голос
/ 30 марта 2012

Я пытаюсь заменить PostgreSQL в моем приложении на MySQL. Я подумал, что должно быть достаточно заменить файл <properties> в файле persistence.xml:

PostgreSQL:

<property name="hibernate.connection.url" value="jdbc:postgresql://localhost/postgres"/>
<property name="hibernate.connection.username" value=""/>
<property name="hibernate.connection.password" value=""/>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.show_sql" value="true"/>

MySQL:

<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hiberante.connection.url" value="jdbc:mysql://localhost:3306/GoOut2"/>
<property name="hibernate.connection.username" value=""/>
<property name="hibernate.connection.password" value=""/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>

Но с этой заменой я получаю

java.lang.UnsupportedOperationException: The application must supply JDBC connections

Я не уверен, что делаю неправильно, я просто надеялся, что замена будет простой. В PostgreSQL все работает правильно.

Persistence.xml: https://gist.github.com/2252443

applicationContext.xml: https://gist.github.com/2252463

исключение: https://gist.github.com/2252487

Спасибо!

EDIT: Я намеренно удаляю имя пользователя и пароль из данного кода.

Ответы [ 2 ]

6 голосов
/ 31 марта 2012

Вам не хватает конфигурации гибернационного диалекта для PostgreSQL:

<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>

РЕДАКТИРОВАТЬ:

В конфигурации отсутствует мисс:

<property name="hiberante.connection.url" value="jdbc:mysql://localhost:3306/GoOut2"/>

должно быть

<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/GoOut2"/>

Is hibernate, но не hiberante.

1 голос
/ 31 марта 2012
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/demo</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...