Hibernate не создает таблицу в H2 - PullRequest
0 голосов
/ 01 сентября 2018

Hibernate не создает таблицу в базе данных H2. Я использую проект веб-приложения Maven. Но Hibernate, кажется, не создает автоматические таблицы. Пожалуйста помоги. Это мой класс пользователя -

    package com.sakib.model;

import javax.persistence.Entity;
import javax.persistence.Table;

    @Entity
    @Table(name = "userlogin")
    public class User {


        private String fname;
        private String lname;
        private String email;
        private int mobile;
        public String getFname() {
            return fname;
        }
        public void setFname(String fname) {
            this.fname = fname;
        }
        public String getLname() {
            return lname;
        }
        public void setLname(String lname) {
            this.lname = lname;
        }
        public String getEmail() {
            return email;
        }
        public void setEmail(String email) {
            this.email = email;
        }
        public int getMobile() {
            return mobile;
        }
        public void setMobile(int mobile) {
            this.mobile = mobile;
        }   
    }

Это мой файл DBConfiguration. Я не использую XML-файл для конфигурации Hibernate -

 package com.sakib.configuration;

import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSource;
import org.hibernate.SessionFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.orm.hibernate4.HibernateTransactionManager;
import org.springframework.orm.hibernate4.LocalSessionFactoryBuilder;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import com.sakib.model.User;

    public class DBConfiguration {
        @Bean
        public DataSource getDataSource() {
            BasicDataSource dataSource = new BasicDataSource();
            dataSource.setDriverClassName("org.h2.Driver");
            dataSource.setUrl("jdbc:h2:tcp://localhost/~/userlogin");
            dataSource.setUsername("sa");
            dataSource.setPassword("sa");
            return dataSource;
        }
        @Bean
        public SessionFactory sessionFactory() {
            LocalSessionFactoryBuilder lsf=
                    new LocalSessionFactoryBuilder(getDataSource());
            Properties hibernateProperties=new Properties();
            hibernateProperties.setProperty(
                    "hibernate.dialect", "org.hibernate.dialect.H2Dialect");
            hibernateProperties.setProperty("hibernate.hbm2ddl.auto", "create");
            hibernateProperties.setProperty("hibernate.show_sql", "true");
            lsf.addProperties(hibernateProperties);
            Class classes[]=new Class[]{User.class};
            return lsf.addAnnotatedClasses(classes).buildSessionFactory();
        }
        @Bean
        public HibernateTransactionManager hibTransManagement(){
            return new HibernateTransactionManager(sessionFactory());
        }
    }

Это App.java. В основном, для запуска серверной реализации используется метод main -

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import com.sakib.configuration.DBConfiguration;


    public class App 
    {
        public static void main( String[] args )
        {
            System.out.println( "Hello World!" ); 
            ApplicationContext context=
                    new AnnotationConfigApplicationContext(DBConfiguration.class);

        }
    }

Любая помощь будет очень полезна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...