Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Persistence.xml com o MySQL

Gente, por favor. Alguém sabe quais são as propriedades que vão no persistence.xml pra banco de dados MySQL? Não consegui conectar e não encontrei na internet um que funcionasse. Aqui o que eu encontrei:

< persistence-unit name="nome" transaction-type="RESOURCE_LOCAL"> < properties> < property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/nome" /> < property name="javax.persistence.jdbc.user" value="root" /> < property name="javax.persistence.jdbc.password" value="" /> < property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver" /> < property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect" />

    < /properties>
< /persistence-unit>
5 respostas

.

    </properties>
</persistence-unit>

Oi Gustavo,

Suas propriedades estão corretas. Aqui um exemplo:

<properties>
    <property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver" />
    <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/loja" />
    <property name="javax.persistence.jdbc.user" value="root" />
    <property name="javax.persistence.jdbc.password" value="" />
    <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect" />
</properties>

Qual erro aconteceu?

Professor, Meus arquivos estão assim: pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>siveing_jpa</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.4.12.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.4.12.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.19</version>
        </dependency>
    </dependencies>

</project>

persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
 http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
             version="2.1">
    <persistence-unit name="siveing_jpa" transaction-type="RESOURCE_LOCAL">
        <properties>
            <property name="javax.persistence.jdbc.url"
                      value="jdbc:mysql://localhost/siveing_jpa?useSSL=false&amp;serverTimezone=UTC" />
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="123456" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <!-- https://docs.jboss.org/hibernate/orm/5.4/javadocs/org/hibernate/dialect/package-summary.html -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect" />
        </properties>
    </persistence-unit>
</persistence>

Não funciona. O que pode estar errado?

Coloquei o persistence.xml dentro do META-INF no src/main/resources. Agora que executei um teste, a tabela foi atualizada no banco de dados, mas não aparece informação de sucesso no console do Eclipse (e nem do IntelliJ). Além do mais, no Eclipse, o arquivo persistence.xml fica com um 'x', como se tivesse um erro. Não to entendendo. Poderia me esclarecer o que pode estar acontecendo?

solução!

Oi Gustavo,

Se criou as tabelas então deu certo a integração com o seu MySQL.

Qual código você está executando que não aparece saida no console?

Quanto ao erro no persistence.xml, pode ignorar que isso é um bug do Eclipse mesmo e não interfere em nada no projeto.