0

我正在尝试编写一个单页应用程序,它将当前用户保存到数据库表(HSQL)中,并将“故事”列表(只有 1 个衬里)保存到单独的表中(在同一个数据库中)

我有 2 个 POJO,用户和故事。然后是 2 个 dto、2 个存储库等,但我正在努力弄清楚如何将这些保存到 2 个表中......

基本上我需要知道我是否需要 2 个持久性单元和 2 个 entityManagerFactory's ,即使我希望写入单个数据库,但要写入 2 个表......从环顾四周似乎就是这种情况,但部分问题是我对一些术语感到非常困惑。

关于多个表有很多问题,但它们似乎总是在不同的数据源中。在这种情况下,数据源只是表吗?即持久化到相同的数据库但不同的表(又名数据源) 如果不是,“数据源”和“数据库”在这种情况下是否可以互换?

谢谢。

4

1 回答 1

0

数据源是对任意数据集合的抽象。通常情况下,您的架构可能是您的数据源。数据源粒度完全取决于您,但我想更粗粒度的数据源具有更好的设计。所以,你需要一个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" />
于 2015-01-07T05:26:13.570 回答