файл конфигурации hibernate и SessionFactory

В данный момент я изо всех сил пытаюсь выяснить, почему я получаю эти сообщения об ошибках. Я впервые использую спящий режим, так что мог что-то не так настроить.

ИМО, это может быть одна из этих 3 проблем.

  • Мой файл hibernate.cfg.xml находится не в том «месте», но я не изменил путь к классам, а файл hibernet находится внутри папки src.
  • Я получаю предупреждение в строке, где я создаю новую SessionFactory SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();. Есть 2 типа, которые я могу получить из buildSessionFactory()

    1. SessionFactory
    2. Конфигурация

Конечно, я взял SessionFactory, но, возможно, что-то упускаю из виду.

package hibernate;
 import java.util.Date;

 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
 import org.hibernate.cfg.Configuration;

 import persistencelayer.*;

 public class HibernateTest {

 public static void main(String[] args) {

    TestUserDetails user2 = new TestUserDetails();
    user2.setUserId(1); 
    user2.setUserName("First User");
    user2.setAddress("First User's address");
    user2.setJoinedDate(new Date());
    user2.setDescription("Description of the user goes here");

    try {
    //SessionFactory wird erzeugt, mit der Konfiguration von Hibernate
    SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
    Session session = sessionFactory.openSession();
    session.beginTransaction();

 //     session.save(user);

    session.save(user2);
    session.getTransaction().commit();
    } catch (Exception e) {
        System.out.println("Fehler beim erstellen der SessionFactory");
    }



}

}
`
  • Также может быть, что я неправильно настроил файл hibernate.cfg.xml. Я удаляю имя пользователя, пароль и хост из соображений безопасности.

Я пытаюсь найти решение с помощью Google, но оно просто не работает. Я использую Oracle в качестве БД, кстати.

Предложения будут оценены. Заранее спасибо и извините за длинный пост :).

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>
    <!-- Database connection settings -->
    <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
    <property name="hibernate.connection.url">jdbc:oracle:thin:@host:port:ssid:</property>
    <property name="hibernate.connection.username">name</property>
    <property name="hibernate.connection.password">password</property>

    <!-- JDBC connection pool (use the built-in) -->
    <property name="hibernate.connection.pool_size">1</property>

    <!-- SQL dialect -->
    <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>

    <!-- Disable the second-level cache -->
    <property name="hibernate.cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>

    <!-- Echo all executed SQL to stdout -->
    <property name="hibernate.show_sql">true</property>

    <!-- Drop and re-create the database schema on startup -->
    <property name="hibernate.hbm2ddl.auto">create</property>

    <!-- Names the annotated entity class -->
    <mapping class="persistencelayer.Project"/>
    <mapping class="persistencelayer.User"/>
    <!-- <mapping class="persistencelayer.Employer"/>
    <mapping class="persistencelayer.IndividualTest"/>
    <mapping class="persistencelayer.ObjectType"/>
    <mapping class="persistencelayer.TestChamber"/>
    <mapping class="persistencelayer.TestMethod"/>
    <mapping class="persistencelayer.TestUserDetails"/> -->


</session-factory>


person Boermt-die-Buse    schedule 06.05.2015    source источник
comment
Пожалуйста, прикрепите сообщение об ошибке, я имею в виду трассировку стека !!!   -  person Dev    schedule 06.05.2015


Ответы (1)


Я нашел проблему внутри файла hibernate.cfg.xml.

я скопировал его из официальных файлов спящего режима 4.3.9. Этот раздел неправильный.

<property name="hibernate.connection.password" />password</property>

не должно быть "/" слева, где должен быть введен пароль.

person Boermt-die-Buse    schedule 06.05.2015
comment
Если вы считаете, что ответили на свой вопрос, то примите его. - person gdrt; 06.05.2015
comment
Просто нажмите на галочку под вашей оценкой ответов. - person gdrt; 07.05.2015
comment
если у меня есть новый вопрос по той же теме, могу ли я опубликовать его здесь в качестве ответа? потому что это то, что я сделал, но если я проверю свой ответ на свой старый вопрос, никто не узнает, что у меня новая проблема, верно? мне новую тему делать? извините, я новичок в stackoverflow :) - person Boermt-die-Buse; 07.05.2015
comment
Нет, вы не правы :) Вы должны задать новый вопрос, чтобы он появился одним из первых во вкладке новых вопросов. Но избегайте повторяющихся вопросов, на которые уже есть ответы. - person gdrt; 07.05.2015