JPA+ спящий режим + пружина, 2 отдельные таблицы в одной БД
Я пытаюсь написать одностраничное приложение, которое сохранит текущих пользователей в таблицу базы данных (HSQL), а также список "историй"(всего 1 вкладыш) в отдельную таблицу (в той же БД)
У меня есть 2 POJO, Пользователь и История. Затем 2 dtos, 2 репозитория и т. Д., Но я пытаюсь выяснить, как сохранить их в 2 таблицах...
По сути, мне нужно знать, нужны ли мне 2 модуля персистентности и 2 объекта entityManagerFactory, даже если я хочу записать в одну базу данных, но в 2 таблицы... как это выглядит при осмотре, но часть проблемы заключается в том, что Я очень запутался с некоторыми из жаргона.
Есть много вопросов, касающихся нескольких таблиц, но они, кажется, всегда находятся в разных источниках данных. В этом контексте источники данных являются просто таблицами? Т.е. сохраняется в одной и той же базе данных, но в разных таблицах (или источниках данных). Если нет, взаимозаменяемы ли в этом контексте "источник данных" и "база данных"?
Благодарю.
1 ответ
Источник данных - это абстракция произвольного набора данных. В обычных случаях ваша схема может быть вашим источником данных. Детализация источника данных полностью зависит от вас, но я предполагаю, что более грубые источники данных имеют лучший дизайн. Итак, вам нужен persistence unit
и один EntityManagerFactory
, В тривиальном сценарии вы можете определить ваши компоненты следующим образом:
<bean id="datasource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:url="datasource url"
p:username="your uname"
p:password="your pass"
p:driverClassName="dirver name"/>
<bean id="persistenceProvider"
class="org.hibernate.jpa.HibernatePersistenceProvider"/>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:packagesToScan="your model packages"
p:dataSource-ref="datasource"
p:persistenceProvider-ref="persistenceProvider" />