1

I have a maven project with Spring and Hibernate and I have entity class called Abonnement.

I created a persistence.xml file. When I'm running my application in the Tomcat 8 server, my server is running normally but any table is created in my database.

This is my entity class, persistence.xml file, web.xml file, applicationContext.xml file and pom.xml file.

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "TYPE_AB", length = 5)
public abstract class Abonnement {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long idAbonnement;
    private Date dateAbonnement;
    private double solde;
    private boolean actif;

    public Long getIdAbonnement() {
        return idAbonnement;
    }

    public void setIdAbonnement(Long idAbonnement) {
        this.idAbonnement = idAbonnement;
    }

    public Date getDateAbonnement() {
        return dateAbonnement;
    }

    public void setDateAbonnement(Date dateAbonnement) {
        this.dateAbonnement = dateAbonnement;
    }

    public double getSolde() {
        return solde;
    }

    public void setSolde(double solde) {
        this.solde = solde;
    }

    public boolean isActif() {
        return actif;
    }

    public void setActif(boolean actif) {
        this.actif = actif;
    }

    public Abonnement() {
        super();
        // TODO Auto-generated constructor stub
    }

    public Abonnement(Date dateAbonnement, double solde, boolean actif) {
        super();
        this.dateAbonnement = dateAbonnement;
        this.solde = solde;
        this.actif = actif;
    }

}

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
    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">
    <persistence-unit name="JPADemo" transaction-type="RESOURCE_LOCAL">
     <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MariaDB103Dialect"/>
            <property name="hibernate.hbm2ddl.auto" value="create"/>
            <property name="hibernate.show.sql" value="true"/>     
        </properties>
    </persistence-unit>
</persistence>

<?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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:lang="http://www.springframework.org/schema/lang"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
        http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
    
    <!-- This bean has been referred fron struts.xml file; So type it correctly; -->
    <!-- Make scope prototype; This is really important. -->
    <bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
         <property name="driverClassName" value="org.mariadb.jdbc.Driver"></property>
         <property name="url" value="jdbc:mariadb://localhost:3306/localbdd"></property>
         <property name="username" value="root"></property>
         <property name="password" value="root"></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>
    </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>

<web-app>
  <display-name>Struts Hibernate Examples</display-name>
  
 <!-- The definition of the Root Spring Container shared by all servlets and filters -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  
  <!-- Creates the Spring Container shared by all servlets and Filters -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  
   <!-- Configuration STRUTS :  ActionServlet -->
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>
        org.apache.struts.action.ActionServlet
    </servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>
         /WEB-INF/struts-config.xml
        </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
 
  <servlet-mapping>
       <servlet-name>action</servlet-name>
       <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  
  <!-- Page d'accueil -->
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
  
  
</web-app>

<?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>dev.mvn.ln</groupId>
  <artifactId>GestionAbonnement</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>GestionAbonnement Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <struts.version>1.3.10</struts.version>
   <!-- <spring.version>5.3.20</spring.version> 4.3.11.RELEASE-->
    <spring.version>3.2.3.RELEASE</spring.version> <!--4.3.11.RELEASE-->
    <spring.data.mongo.version>3.4.0</spring.data.mongo.version> <!--2.2.6.RELEASE-->
    <mongo.driver.version>4.6.0</mongo.driver.version>
    <jackson.version>2.12.6</jackson.version>
    <swagger.version>2.1.11</swagger.version>
   <!-- <hibernate.version>4.2.1.Final</hibernate.version> -->
    <hibernate.version>5.4.30.Final</hibernate.version>
  </properties>

  <dependencies>
  
   <!--spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
     <!--spring -->
     
     <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.28</version>
        <scope>test</scope>
    </dependency>
   <!-- <dependency>
        <groupId>org.mariadb.jdbc</groupId>
        <artifactId>mariadb-java-client</artifactId>
        <version>2.7.4</version>
        <scope>runtime</scope>
    </dependency> -->
    
    <dependency>
      <groupId>org.mariadb.jdbc</groupId>
      <artifactId>mariadb-java-client</artifactId>
      <version>1.5.7</version>
    </dependency>
    
    
    
    <!-- J2EE library -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.4</version>
      <scope>provided</scope>
    </dependency>
    
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
    
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>

    <!-- Unit Test -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.5</version>
      <scope>test</scope>
    </dependency>
    
     <!-- Struts 1.3 framework -->
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts-core</artifactId>
      <version>${struts.version}</version>
    </dependency>
    
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts-taglib</artifactId>
      <version>${struts.version}</version>
    </dependency>
   
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts-extras</artifactId>
      <version>${struts.version}</version>
    </dependency>
    

    <!-- Hibernate core -->
    <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
    </dependency>
    <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${hibernate.version}</version>
    </dependency>

    <!-- Hibernate core library dependecy start -->
    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>

    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
    </dependency>

    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.1</version>
    </dependency>

    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2</version>
    </dependency>
    <!-- Hibernate core library dependecy end -->

    <!-- Hibernate query library dependecy start -->
    <dependency>
        <groupId>antlr</groupId>
        <artifactId>antlr</artifactId>
        <version>2.7.7</version>
    </dependency>
    <!-- Hibernate query library dependecy end -->
    
  </dependencies>

  <build>
    <finalName>GestionAbonnement</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

I'm using Eclipse IDE, Tomcat 8 and MariaDB 10.7.

I've added connector jar maria db in Tomcat lib folder.

My Eclipse trace server tomcat not displaying any connection to the database:

juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Nom version serveur :              Apache Tomcat/8.5.81
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Serveur compilé :                  Jun 8 2022 21:30:15 UTC
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Version du serveur :               8.5.81.0
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Nom de l'OS :                      Windows 11
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Version OS :                       10.0
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture :                     amd64
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home :                        C:\Program Files\Java\jdk-11.0.14
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Version JVM :                      11.0.14+8-LTS-263
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Fournisseur de la JVM :            Oracle Corporation
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE :                    C:\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME :                    C:\apache-tomcat-8.5.81
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Argument de la ligne de commande : -Dcatalina.base=C:\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Argument de la ligne de commande : -Dcatalina.home=C:\apache-tomcat-8.5.81
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Argument de la ligne de commande : -Dwtp.deploy=C:\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Argument de la ligne de commande : --add-opens=java.base/java.lang=ALL-UNNAMED
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Argument de la ligne de commande : --add-opens=java.base/java.io=ALL-UNNAMED
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Argument de la ligne de commande : --add-opens=java.base/java.util=ALL-UNNAMED
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Argument de la ligne de commande : --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Argument de la ligne de commande : --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Argument de la ligne de commande : -Dfile.encoding=UTF-8
juil. 31, 2022 1:09:13 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: La librairie Apache Tomcat Native basée sur APR qui permet des performances optimales dans les environnements de production n'a pas été trouvée sur le java.library.path : [C:\Program Files\Java\jdk-11.0.14\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/eclipse//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin/server;C:/Program Files/eclipse//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\Java\jdk-11.0.14\bin;C:\maven-3.8.5\bin;C:\Program Files\MongoDB\Server\4.2\bin;%NVM_HOME%;%NVM_SYMLINK%;C:\Users\lelon\AppData\Local\Microsoft\WindowsApps;C:\Users\lelon\AppData\Roaming\npm;C:\Users\lelon\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\JetBrains\IntelliJ IDEA 2022.1\bin;;C:\Users\lelon\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\eclipse;;.]
juil. 31, 2022 1:09:13 PM org.apache.coyote.AbstractProtocol init
INFO: Initialisation du gestionnaire de protocole ["http-nio-8080"]
juil. 31, 2022 1:09:13 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 767 ms
juil. 31, 2022 1:09:13 PM org.apache.catalina.core.StandardService startInternal
INFO: Démarrage du service [Catalina]
juil. 31, 2022 1:09:13 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Démarrage du moteur de Servlets : [Apache Tomcat/8.5.81]
juil. 31, 2022 1:09:14 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès ; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
juil. 31, 2022 1:09:14 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
WARNING: La création de l'instance de SecureRandom pour le générateur d'id de session en utilisant [SHA1PRNG] a pris [111] millisecondes
juil. 31, 2022 1:09:16 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès ; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
juil. 31, 2022 1:09:16 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
juil. 31, 2022 1:09:16 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
juil. 31, 2022 1:09:18 PM org.apache.coyote.AbstractProtocol start
INFO: Démarrage du gestionnaire de protocole ["http-nio-8080"]
juil. 31, 2022 1:09:18 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 5157 ms

My project structure in the Eclipse IDE: enter image description here

Alexander Ivanchenko
  • 25,667
  • 5
  • 22
  • 46
peace3106
  • 37
  • 4

0 Answers0