Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
aksdaqg
1 / 1 / 0
Регистрация: 31.03.2014
Сообщений: 174
1

Hibernate подключение к базе

20.11.2018, 11:22. Просмотров 510. Ответов 1
Метки нет (Все метки)

Не создается таблица в бд. Что-то в настройках хибернейта? Что делаю не так? Прикрепляю содержание файлов.

При компиляции выдает вот это

ноя 20, 2018 12:21:47 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.3.7.Final}
ноя 20, 2018 12:21:47 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Hibernate Configuration loaded
Hibernate serviceRegistry created
ноя 20, 2018 12:21:50 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
ноя 20, 2018 12:21:51 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
ноя 20, 2018 12:21:51 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [org.postgresql.Driver] at URL [jdbcostgresql://localhost:49661/Tost]
ноя 20, 2018 12:21:51 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {user=postgres, password=****}
ноя 20, 2018 12:21:51 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
ноя 20, 2018 12:21:51 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)


1) POM.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?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>com.test_hibernate</groupId>
    <artifactId>Test_hibernate</artifactId>
    <version>1.0-SNAPSHOT</version>
 
    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.3.7.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.3.7.Final</version>
        </dependency>
 
        <!-- The tutorials use the PostgreSQL 9.3.5 database -->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.3-1102-jdbc41</version>
        </dependency>
 
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.2.11</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.2.11</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.2.11</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-core</artifactId>
            <version>3.0</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.0</version>
            </plugin>
        </plugins>
    </build>
    
</project>

2) Human.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
 
import java.io.Serializable;
import javax.persistence.*;
 
 
@Entity
@Table(name="human")
public class Human implements Serializable {
    @Override
    public String toString() {
        return "Human{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", humanItems=" + item +
                '}';
    }
 
    private long id;
    private String name;
    private int age; //age in full years
    private String item;
 
    public Human(){};
 
    public Human(String name, int age, String item) {
        this.name = name;
        this.age = age;
        this.item = item;
    }
 
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column
    public long getId() {
        return id;
    }
 
    @Column(name="fullname")
    public String getName() {
        return name;
    }
 
    @Column(name="years")
    public int getAge() {
        return age;
    }
 
 
    public void setId(long id) {
 
        this.id = id;
    }
 
    public static void main(String[] args) {
 
        Human human2 = new Human("KHarlamich",23,null);
 
        SessionFactory session = HibernateUtil.getSessionFactory();
        try {
            Session cr = session.getCurrentSession();
            Transaction tr = cr.beginTransaction();
 
            cr.saveOrUpdate(human2);
 
            //cr.flush();
 
            /*Следующая задача - извлечение из бд */
 
            tr.commit();
            System.out.println("over");
            }
        catch(Exception ex)
        {
            System.out.println("error "+ex);
        }
        finally {
            session.close();
        }
    }
}

3) HibernateUtil.java

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package test;
/**
 * Created by yusufcakmak on 8/3/15.
 */
 
import java.util.Properties;
 
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
 
public class HibernateUtil {
 
    //XML based configuration
    private static SessionFactory sessionFactory;
 
    //Annotation based configuration
    private static SessionFactory sessionAnnotationFactory;
 
    //Property based configuration
    private static SessionFactory sessionJavaConfigFactory;
 
    /**
     * @return SessionFactory
     */
    private static SessionFactory buildSessionFactory() {
        try {
            // Create the SessionFactory from hibernate.cfg.xml
            Configuration configuration = new Configuration();
            configuration.configure("hibernate.cfg.xml");
            System.out.println("Hibernate Configuration loaded");
            StandardServiceRegistryBuilder standardServiceRegistryBuilder = new StandardServiceRegistryBuilder();
            standardServiceRegistryBuilder.applySettings(configuration.getProperties());
            ServiceRegistry serviceRegistry = standardServiceRegistryBuilder.build();
            System.out.println("Hibernate serviceRegistry created");
 
/** ТУТ ДОЛЖНО БЫТЬ БОЛЬШЕ КЛАССЛВ*/
            Configuration configuration1 = configuration;
            configuration1.addAnnotatedClass(Human.class);
            SessionFactory sessionFactory = configuration1.buildSessionFactory(serviceRegistry);
            System.out.println("hibernate got annotated classes");
 
            return sessionFactory;
        }
        catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
 
    private static SessionFactory buildSessionAnnotationFactory() {
        try {
            // Create the SessionFactory from hibernate.cfg.xml
            Configuration configuration = new Configuration();
            configuration.configure("hibernate.cfg.xml");
            System.out.println("Hibernate Annotation Configuration loaded");
 
            ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
            System.out.println("Hibernate Annotation serviceRegistry created");
 
            SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
 
            return sessionFactory;
        }
        catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
 
    private static SessionFactory buildSessionJavaConfigFactory() {
        try {
            Configuration configuration = new Configuration();
 
            configuration.addResource("hibernate.cfg.xml").configure();
            ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
            System.out.println("Hibernate Java Config serviceRegistry created");
            
            SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
 
            return sessionFactory;
        }
        catch (Throwable ex) {
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
 
    public static SessionFactory getSessionFactory() {
        if(sessionFactory == null) sessionFactory = buildSessionFactory();
        return sessionFactory;
    }
 
    public static SessionFactory getSessionAnnotationFactory() {
        if(sessionAnnotationFactory == null) sessionAnnotationFactory = buildSessionAnnotationFactory();
        return sessionAnnotationFactory;
    }
 
    public static SessionFactory getSessionJavaConfigFactory() {
        if(sessionJavaConfigFactory == null) sessionJavaConfigFactory = buildSessionJavaConfigFactory();
        return sessionJavaConfigFactory;
    }
 
}
4) hibernate.cfg.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!--
  ~ Hibernate, Relational Persistence for Idiomatic Java
  ~
  ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
  ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
  -->
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 
<hibernate-configuration>
    <session-factory>
    
        <property name="connection.url">jdbc:postgresql://localhost:49661/Tost</property> <!-- BD Mane -->
        <property name="connection.driver_class">org.postgresql.Driver</property> <!-- DB Driver -->
        <property name="connection.username">postgres</property> <!-- DB User -->
        <property name="connection.password">123789</property> <!-- DB Password -->
        
        <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property> <!-- DB Dialect -->
        <property name="hbm2ddl.auto">create</property> <!-- create / create-drop / update -->
        
        <property name="show_sql">true</property> <!-- Show SQL in console -->
        <property name="format_sql">true</property> <!-- Show SQL formatted -->
        <property name="hibernate.current_session_context_class">thread</property>
 
        <mapping class="Human"></mapping>
        
    </session-factory>
</hibernate-configuration>
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2018, 11:22
Ответы с готовыми решениями:

Висящий коннект к базе через Hibernate
Здравствуйте! Делаю: EntityManager em = entityManagerFactory.createEntityManager(); И передаю...

Spring + Hibernate подключение к postgresql 11
Не могу подключиться к бд. Через pgAdmin подключение проходит нормально. ] &lt;?xml...

Jquery-ajax и hibernate возвращает null хотя данные в базе есть
не выводятся данные из базы.думал это из-за скорости ajax запроса.т.е он выполняется быстрее чем...

Подключение к удаленной базе
Всем привет! Помогите!) Я не могу подключить свое приложение к базе, к моему локальному он...

Подключение к базе oracle
Запустил виртуальную машину с Oracle XE 11 На IP адресе 192.168.0.2 Через строку в браузере...

1
iSmokeJC
Модератор
Эксперт Java
3320 / 1676 / 730
Регистрация: 21.10.2017
Сообщений: 5,119
20.11.2018, 17:51 2
aksdaqg, в идее опция есть - создать схему на основе ентити.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2018, 17:51

Подключение к базе данных
Здравствуйте! У мен возникла проблема. Приложение не хочет подключаться к базе данных (MySQL)....

Подключение к базе SQL Express
Всем привет только начал изучать Java и столкнулся с проблемой подключения к серверу. Сервер по...

Подключение к базе данных MS SQL
Всем доброго времени суток! Есть задача: брать данные из java-приложения, записывать их в базу MS...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.