Вопрос по Hibernate.
От: dmitritch  
Дата: 10.10.18 07:19
Оценка:
Изучаю сейчас Hibernate. Вот простой пример который сделал:
            Transaction tx = session.beginTransaction();
            Test test1 = new Test("Сколько граммов в килограмме?");
            Test test2 = new Test("Назовите самый большой континент");
            Test test3 = new Test("Какое животное бегает быстрее всех");
            session.save(test1);
            session.save(test2);
            session.save(test3);
            tx.commit();

            printTests();
            
            tx = session.beginTransaction();  
            User user1 = new User("Петя");
            user1.userTest = test1;
            User user2 = new User("Вася");
            user2.userTest = test2;
            session.save(user1);
            session.save(user2);
            tx.commit();  
            
            printUsers();
            
            user1.userTest.setText(user1.userTest.getText() + " Ответ : в килограмме 1000 граммов");
            tx = session.beginTransaction();
            session.save(user1);
            tx.commit();
            
            printTests();
            printUsers();


Естественно получаю на печати такой результат:

Тест: Сколько граммов в килограмме?
Тест: Назовите самый большой континент
Тест: Какое животное бегает быстрее всех

Пользователь: Петя тест : Сколько граммов в килограмме?
Пользователь: Вася тест : Назовите самый большой континент

Тест: Назовите самый большой континент
Тест: Какое животное бегает быстрее всех
Тест: Сколько граммов в килограмме? Ответ : в килограмме 1000 граммов
Пользователь: Петя тест : Сколько граммов в килограмме? Ответ : в килограмме 1000 граммов
Пользователь: Вася тест : Назовите самый большой континент


Вопрос: как проще всего сделать так чтобы тесты пользователей хранились в отдельной боковой таблице а не в той же таблице где тесты не данные пользователям? Вот мои конфиги:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 5.2//EN"
"http://www.hibernate.org/hibernate-mapping-5.2.dtd">

<hibernate-mapping>
<class name="my.hibernate.test.User" table="users">
<id name="id">
<generator class="increment"></generator>
</id>

<property name="name"></property>

<one-to-one name="userTest" access="field" class="my.hibernate.test.Test">
</one-to-one>
</class>
</hibernate-mapping>

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 5.2//EN"
"http://www.hibernate.org/hibernate-mapping-5.2.dtd">

<hibernate-mapping>
<class name="my.hibernate.test.Test" table="tests">
<id name="id">
<generator class="increment"></generator>
</id>

<property name="text"></property>
</class>
</hibernate-mapping>

Отредактировано 10.10.2018 8:10 dmitritch . Предыдущая версия .
java hibernate
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.