История изменений
Исправление
Legioner,
(текущая версия)
:
Если я правильно понял, что нужно сделать, то делается так:
Мы делаем LOR. Обработчик сохранения комментария. У комментария есть автор (пользователь).
В нашем обработчике доступен accountId. Вопрос в том — как сохранить комментарий без запроса к таблице account.
1 способ.
Account = new Account();
account.setAccountId(accountId);
Message = new Message();
message.setAuthor(account);
message.setText(text);
entityManager.persist(message);
т.е. просто заполняем пустым объектом с заполненым ID. Не знаю, по стандарту ли это, но в хибернейте работает.
2 способ по стандарту.
Account account = entityManager.getReference(Account.class, accountId);
Message = new Message();
message.setAuthor(account);
message.setText(text);
entityManager.persist(message);
getReference возвращает управляемый объект, но запрос в БД не делает.
В обоих способах message сохранится без дополнительных селектов.
Да, ehcache.
Исходная версия
Legioner,
:
Если я правильно понял, что нужно сделать, то делается так:
Мы делаем LOR. Обработчик сохранения комментария. У комментария есть автор (пользователь).
В нашем обработчике доступен accountId. Вопрос в том — как сохранить комментарий без запроса к таблице account.
1 способ.
Account = new Account();
account.setAccountId(accountId);
Message = new Message();
message.setAuthor(account);
message.setText(text);
entityManager.persist(message);
т.е. просто заполняем пустым объектом с заполненым ID. Не знаю, по стандарту ли это, но в хибернейте работает.
2 способ по стандарту.
Account account = entityManager.getReference(Account.class, accountId);
Message = new Message();
message.setAuthor(account);
message.setText(text);
entityManager.persist(message);
getReference возвращает управляемый объект, но запрос в БД не делает.
В обоих способах message сохранится без дополнительных селектов.