JPA 或 Hibernate 与 Oracle 表分区?

Cha*_*ghe 5 java sql hibernate jpa

我需要在我的应用程序中使用实体框架,并且我在 Oracle 数据库中使用了表分区。通过简单的 JDBC,我可以从特定分区中选择数据。但我不知道我是否可以使用 hibernate 或 Eclipse link (JPA) 做同样的事情。如果有人知道该怎么做,请告诉我。

通常 JDBC - SQL 中的 select 语句是,

select * from TABLE_NAME partiton(PARTITON_NAME) where FIELD_NAME='PARAMETER_VALUE';
Run Code Online (Sandbox Code Playgroud)

我怎样才能用 Hibernate 或 JPA 做同样的事情?

请至少分享一个学习资源的链接。

谢谢!!!

Vin*_*lds 5

JPA 或任何其他 ORM 框架本身不支持 Oracle 分区表(至少据我所知)。

不过,根据问题的性质,有不同的可能解决方案:

  • 重构您的类,以便在现实生活中需要以不同方式处理的数据属于单独的类。有时这称为垂直分区(分区不是跨行获得的,而是跨列获得的)。
  • 使用底层的 Oracle 分区表并使用 JPA 中的本机 SQL 查询或存储过程。这只是一个可能的解决方案(我没有尝试过)。
  • 使用休眠碎片。尽管 Hibernate Shards 的典型用例不是针对单个数据库,但它向应用程序开发人员提供了分布式数据库的单一视图。

有关的

  1. JPA性能,不要忽视数据库