我试图编写一个单页应用程序,它将当前用户持久存储到数据库表(HSQL)中,并将一个"故事列表#34;(仅1个内容)保存到一个单独的表中(在同一个数据库中)
我有2个POJO,用户和故事。然后2 dtos,2个存储库等,但我正在努力弄清楚如何将这些存储到2个表...
基本上我需要知道我是否需要2个持久性单元和2个entityManagerFactory,即使我希望写入单个数据库,但要写入2个表...就像环顾四周一样但部分问题是我对一些术语感到困惑。
关于多个表有很多问题,但它们似乎总是在不同的数据源中。在这种情况下,数据源只是表格吗?即坚持使用相同的数据库但不同的表(也称为数据源) 如果没有,是"数据源"和"数据库"在这种情况下可以互换吗?
感谢。
答案 0 :(得分:0)
Datasource是任意数据集合的抽象。在常规情况下,您的架构可能是您的数据源。数据源粒度完全取决于您,但我想更粗粒度的数据源有更好的设计。
因此,您需要一个persistence unit
和一个EntityManagerFactory
。
在一个简单的场景中,您可以像这样定义您的bean:
<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" />