我正在尝试编写一个单页应用程序,该应用程序会将当前用户保存到数据库表(HSQL)中,并将"故事"列表(仅1行)保存到单独的表中(在同一数据库中)
我有 2 个 POJO,用户和故事。然后是 2 个 dtos、2 个存储库等,但我正在努力弄清楚如何将这些保存到 2 个表中......
基本上我需要知道我是否需要 2 个持久性单元和 2 个实体管理器工厂的,即使我希望写入单个数据库,但写入 2 个表......环顾四周似乎就是这种情况,但部分问题是我对一些术语感到非常困惑。
关于多个表有很多问题,但它们似乎总是位于不同的数据源中。在此上下文中,数据源是否只是表?即持久化到相同的数据库但不同的表(也称为数据源)如果不是,在这种情况下,"数据源"和"数据库"是否可以互换?
谢谢。
数据源是任意数据集合的抽象。在常规情况下,架构可能是数据源。数据源粒度完全取决于您,但我想更粗粒度的数据源具有更好的设计。所以,你需要一个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" />