Имеются две Entity, ссылающиеся друг на друга соответствующими полями отмеченными аннотациями
@Entity
Player {
@OneToOne
private User user;
}
@Entity
User{
@OneToOne
private Player player;
}
Как возможно упростить код по сохранению?
try (Session session = cfg.buildSessionFactory().openSession())
{
session.beginTransaction();
Player player = user.getPlayer();
session.save(player);
session.save(user);
player.setUser(user);
session.save(player);
session.getTransaction().commit();
session.close();
}
Уверен, что это возможно, а то хоть у меня и работает, но дюже не красиво...
После нескольких экспериментов пришло такое решение
в User чуть изменить поле player:
private Player player = new Player();
тогда при сохранении объектов, код можно сделать в две строчки:
try (Session session = cfg.buildSessionFactory().openSession())
{
session.beginTransaction();
session.save ( user );
user.getPlayer().setUser(user);
session.getTransaction().commit();
session.close();
}
Используется тот факт, что пока сессия не закрыта изменения объектов "автоматом" заносятся в базу (и это дополнительно описывать не нужно)
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я делаю клиент для Telegram на Java с использованием официальной библиотеки TDLib, те
Есть ли какой способ проверить что бин был создан? с помощью аннотации а не простым if
Проблема в том, что от сюда http://siteru/css/table