JPA+休眠+弹簧,同一个数据库中有2个独立的表



我正在尝试编写一个单页应用程序,该应用程序会将当前用户保存到数据库表(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" />

相关内容

  • 没有找到相关文章

最新更新