【问题标题】:Multitenancy with Micronaut for JDBC without Hibernate/JPA or GORM使用 Micronaut for JDBC 实现多租户,无需 Hibernate/JPA 或 GORM
【发布时间】:2022-07-07 23:43:41
【问题描述】:

我是 Micronaut 的新手,我正在尝试为我的应用实现多租户功能。我的目标是在 DATABASE 模式下为许多 oracle DB 使用 java 实现它,但是我发现的所有信息都与 spring、hibernate/jpa 或 gorm 相关,我不想/不能使用其中任何一个......有可能做到这一点吗?我该怎么做?

提前致谢。

【问题讨论】:

  • 不是现在,多租户计划用于 Micronaut Data 的下一个主要版本

标签: java jdbc multi-tenant micronaut


【解决方案1】:

您可以使用每个数据库技术的存储库来实现多租户:

interface PersonRepository extends CrudRepository<Person, Long> {
}

@JdbcRepository(dataSource = "db1", dialect = Dialect.ORACLE)
interface Db1PersonRepository extends PersonRepository {
}

@JdbcRepository(dataSource = "db2", dialect = Dialect.ORACLE)
interface Db2PersonRepository extends PersonRepository {
}

或者第二个选项(仅从 Micronaut Data 3.5.0 开始可用)是在注入点上指定数据库:

@JdbcRepository(dialect = Dialect.ORACLE)
interface PersonRepository extends CrudRepository<Person, Long> {
}

@Singleton
class MyService {

   @Inject
   @Repository("db1")
   PersonRepository db1PersonRepository

   @Inject
   @Repository("db2")
   PersonRepository db2PersonRepository
}

在未来,应该可以拥有 GORM 风格的多租户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 2019-10-08
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 2012-09-24
    相关资源
    最近更新 更多