Partage
  • Partager sur Facebook
  • Partager sur Twitter

Des erreurs HIBERNATE JPA

Problème de Géneration de la base de données

    6 avril 2018 à 13:19:37

    Bonjoour tous le Monde,

    En tant que débutant en J2EE j'ai rencontré un problème dans l'exécution de ma petite application pour générer ma base de donnée avec Hibernate jpa aider moi à le résoudre SVP .

    L'erreur :

    ERROR: org.hibernate.tool.hbm2ddl.SchemaExport - HHH000389: Unsuccessful: drop table article if exists
    ERROR: org.hibernate.tool.hbm2ddl.SchemaExport - 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 'if exists' at line 1
    ERROR: org.hibernate.tool.hbm2ddl.SchemaExport - HHH000389: Unsuccessful: create table article (idArtcile bigint generated by default as identity, primary key (idArtcile))
    ERROR: org.hibernate.tool.hbm2ddl.SchemaExport - 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 'by default as identity, primary key (idArtcile))' at line 1

    persistence.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://java.sun.com/xmlns/persistence">
      <persistence-unit name="My_up" transaction-type="RESOURCE_LOCAL">
         <provider>org.hibernate.ejb.HibernatePersistence</provider>
         <properties>
          <property name="hibernate.show_sql" value="false"></property>
          <property name="hibernate.hbm2ddl.auto" value="create"></property>
           <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
         </properties>
      </persistence-unit>
    </persistence>

    applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:tx="http://www.springframework.org/schema/tx"
    	xsi:schemaLocation="http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
    		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
    		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
        
    <bean id="dataSource" 
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
       <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
       <property name="url" value="jdbc:mysql://localhost:3306/gestionStock?useLegacyDatetimeCode=false&amp;serverTimezone=UTC"></property>
       <property name="username" value="root"></property>
       <property name="password" value=""></property>
    </bean>
    <bean id="persistenceUnitManager" 
    class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
    	<property name="persistenceXmlLocations">
    	  <list>
    	     <value>classpath*:META-INF/persistence.xml</value>
    	  </list>
    	</property>
    <property name="defaultDataSource" ref="dataSource"></property>
    </bean>
    				<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    				   <property name="persistenceUnitManager" ref="persistenceUnitManager"></property>
    				   <property name="persistenceUnitName" value="My_up"></property>  
    				</bean>
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
      <property name="entityManagerFactory" ref="entityManagerFactory"></property>
    </bean>
    <tx:annotation-driven transaction-manager="transactionManager"/>
    <context:annotation-config></context:annotation-config>
    </beans>
    

    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/maven-v4_0_0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>org.gestion</groupId>
    	<artifactId>stock</artifactId>
    	<name>Stock</name>
    	<packaging>war</packaging>
    	<version>1.0.0-BUILD-SNAPSHOT</version>
    	<properties>
    		<java-version>1.6</java-version>
    		<org.springframework-version>3.1.1.RELEASE</org.springframework-version>
    		<org.aspectj-version>1.6.10</org.aspectj-version>
    		<org.slf4j-version>1.6.6</org.slf4j-version>
    	</properties>
    	<dependencies>
    		<!-- Spring -->
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-context</artifactId>
    			<version>${org.springframework-version}</version>
    			<exclusions>
    				<!-- Exclude Commons Logging in favor of SLF4j -->
    				<exclusion>
    					<groupId>commons-logging</groupId>
    					<artifactId>commons-logging</artifactId>
    				 </exclusion>
    			</exclusions>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-webmvc</artifactId>
    			<version>${org.springframework-version}</version>
    		</dependency>
    				
    		<!-- AspectJ -->
    		<dependency>
    			<groupId>org.aspectj</groupId>
    			<artifactId>aspectjrt</artifactId>
    			<version>${org.aspectj-version}</version>
    		</dependency>	
    		
    		<!-- Logging -->
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-api</artifactId>
    			<version>${org.slf4j-version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>jcl-over-slf4j</artifactId>
    			<version>${org.slf4j-version}</version>
    			<scope>runtime</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-log4j12</artifactId>
    			<version>${org.slf4j-version}</version>
    			<scope>runtime</scope>
    		</dependency>
    		<dependency>
    			<groupId>log4j</groupId>
    			<artifactId>log4j</artifactId>
    			<version>1.2.15</version>
    			<exclusions>
    				<exclusion>
    					<groupId>javax.mail</groupId>
    					<artifactId>mail</artifactId>
    				</exclusion>
    				<exclusion>
    					<groupId>javax.jms</groupId>
    					<artifactId>jms</artifactId>
    				</exclusion>
    				<exclusion>
    					<groupId>com.sun.jdmk</groupId>
    					<artifactId>jmxtools</artifactId>
    				</exclusion>
    				<exclusion>
    					<groupId>com.sun.jmx</groupId>
    					<artifactId>jmxri</artifactId>
    				</exclusion>
    			</exclusions>
    			<scope>runtime</scope>
    		</dependency>
    
    		<!-- @Inject -->
    		<dependency>
    			<groupId>javax.inject</groupId>
    			<artifactId>javax.inject</artifactId>
    			<version>1</version>
    		</dependency>
    				
    		<!-- Servlet -->
    		<dependency>
    			<groupId>javax.servlet</groupId>
    			<artifactId>servlet-api</artifactId>
    			<version>2.5</version>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>javax.servlet.jsp</groupId>
    			<artifactId>jsp-api</artifactId>
    			<version>2.1</version>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>javax.servlet</groupId>
    			<artifactId>jstl</artifactId>
    			<version>1.2</version>
    		</dependency>
    	
    		<!-- Test -->
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.7</version>
    			<scope>test</scope>
    		</dependency> 
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-orm</artifactId>
    			<version>${org.springframework-version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-beans</artifactId>
    			<version>${org.springframework-version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-tx</artifactId>
    			<version>${org.springframework-version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.hibernate</groupId>
    			<artifactId>hibernate-commons-annotations</artifactId>
    			<version>3.2.0.Final</version>
    		</dependency>
    		<dependency>
    			<groupId>org.hibernate</groupId>
    			<artifactId>hibernate-entitymanager</artifactId>
    			<version>4.3.6.Final</version>
    		</dependency>
    		<dependency>
    			<groupId>org.hibernate</groupId>
    			<artifactId>hibernate-validator</artifactId>
    			<version>4.1.0.Final</version>
    		</dependency>
    		<dependency>
    			<groupId>org.hibernate.javax.persistence</groupId>
    			<artifactId>hibernate-jpa-2.1-api</artifactId>
    			<version>1.0.0.Final</version>
    		</dependency>
    		<dependency>
    			<groupId>mysql</groupId>
    			<artifactId>mysql-connector-java</artifactId>
    			<version>6.0.2</version>
    		</dependency>
    	</dependencies>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.9</version>
                    <configuration>
                        <additionalProjectnatures>
                            <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
                        </additionalProjectnatures>
                        <additionalBuildcommands>
                            <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
                        </additionalBuildcommands>
                        <downloadSources>true</downloadSources>
                        <downloadJavadocs>true</downloadJavadocs>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.5.1</version>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                        <compilerArgument>-Xlint:all</compilerArgument>
                        <showWarnings>true</showWarnings>
                        <showDeprecation>true</showDeprecation>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.2.1</version>
                    <configuration>
                        <mainClass>org.test.int1.Main</mainClass>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    

    l'entité Article.java

    package org.gestion.stock.entities;
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;
    @Entity
    @Table(name = "article")
    public class Article implements Serializable {
    	@Id
    	@GeneratedValue
    	private long idArtcile;
    
    	public long getIdArtcile() {
    		return idArtcile;
    	}
    	public void setIdArtcile(long idArtcile) {
    		this.idArtcile = idArtcile;
    	}
    }
    

    je souhaite que vous m'aider s'il vous plais,






    • Partager sur Facebook
    • Partager sur Twitter
      9 avril 2018 à 8:05:59

      Bonjour,

      Dans l'erreur il est dit que que tu as une erreur de syntaxe pour le moteur MariaDB (MySQL).

      Ce qui est normal, car dans le persistence.xml tu lui a indiqué 

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

      Il faut que tu lui donne

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




      • Partager sur Facebook
      • Partager sur Twitter
        27 avril 2018 à 17:13:43

        Merci JDesm pour ton aide ;)
        • Partager sur Facebook
        • Partager sur Twitter
          27 avril 2018 à 20:07:58

          HS

          MoraEL, suis-tu un cours sur openclassrooms ou autre pour apprendre hibernate JPA? si oui, lequel? Merci.

          Carine

          • Partager sur Facebook
          • Partager sur Twitter
            30 avril 2018 à 10:57:22

            Non Carine, je suis aucun cours sur la configuration hibernate jpa sur openclasserooms par contre je cherche sur google,

            • Partager sur Facebook
            • Partager sur Twitter
              30 avril 2018 à 18:53:01

              Ok, merci. As-tu un ou deux liens à conseiller pour quelqu'un qui veut débuter à utiliser hibernate?
              • Partager sur Facebook
              • Partager sur Twitter
                1 mai 2018 à 7:38:50

                @Carine07

                tu as le cours de Jean Doudoux qui parle d'hibernate

                https://www.jmdoudoux.fr/java/dej/chap-hibernate.htm

                ou cette formation en video c est sympa

                https://www.udemy.com/java-ee-spring-hibernate-git-maven-formation-2018/

                • Partager sur Facebook
                • Partager sur Twitter
                La connaissance ne vaut que si elle est partagée.
                  1 mai 2018 à 9:26:21

                  Merci Jobard91 pour les liens (8 heures de vidéo pour apprendre toutes ces technologies, c'est optimiste, je pense)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 mai 2018 à 0:49:55

                    8h de cours c'est court oui et non. Moi j'ai appris a développer des applications graphique en java grace au cours JavaFx de ce site.

                    Il est pas tres long (5.5h) non plus mais ca apprend les bases, voir comment ca fonctionne, et ca permet ensuite de se débrouiller seul pour se perfectionner. 

                    C'est comme pour le permis voiture, tu fais tes 20h de conduite pour apprendre les bases, on te donne ton permis et ensuite tu te perfectionne seule en pratiquant :p

                    • Partager sur Facebook
                    • Partager sur Twitter
                    La connaissance ne vaut que si elle est partagée.

                    Des erreurs HIBERNATE JPA

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown