当前位置: 首页 > 面试题库 >

JPA还是使用Oracle表分区休眠?

弘涛
2023-03-14
问题内容

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

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

select * from TABLE_NAME partiton(PARTITON_NAME) where FIELD_NAME='PARAMETER_VALUE';

如何使用Hibernates或JPA进行同样的操作?

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

谢谢!!!


问题答案:

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

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

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

相关

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


 类似资料:
  • 现在,当我执行这个查询时: 请帮助我 1。既然分区不在ITEM_COLOR列上,Oracle将如何确定要转到哪个分区? 2。上面的查询不会从分区中受益吗? 3。SQL查询是否需要在WHERE子句中包含分区列,以便从分区中受益。 4。在分区的情况下如何使用索引?

  • 问题内容: 我正在研究一个Java代码,它基于INSERT_DATETIME字段(时间戳)每15分钟从oracle表中上传数据。我需要根据15分钟的间隔对表进行分区。有没有办法动态地做到这一点(分区)。我在oracle SQL开发人员中使用oracle11g。 我创建的表之一的示例,我想添加一个分区: 我对SQL不熟悉,因为上面的代码只是从我创建的表中生成的。任何帮助表示赞赏。谢谢你 问题答案:

  • 问题内容: 如果我能以某种方式将这两个框架结合在一起,那就太酷了。 单击Primefaces数据表上的下一个或上一个按钮将触发查询,从而使用JPA限制查询结果。 同样,也许通过某种机制,primefaces组件也可以从另一个JPA选择计数查询中获取总页数。 有没有关于如何将它们投入工作的示例? 请分享您的经验。 谢谢 ! 问题答案: 您可以使用LazyDataModel。在此示例中,我将使用Net

  • 我试图在我的java程序中实现分页,下面是我试图编写的查询,但使用JPA、Criteria和hibernate无法成功。

  • 问题内容: 有人可以透视一下JPA和Hibernate之间的区别吗?还是将这些互补的概念一起使用? 问题答案: 大致来说,JPA是java社区的一个标准,这里是specs,它是由Hibernate家伙实现(并扩展)的(此处提供一些信息)。作为规范,您将不会直接使用JPA,而是使用JPA实现。 请注意,如果要使用hibernateJPA扩展,将破坏与其他JPA实现的兼容性(尽管有些人会说“为什么要使

  • 问题内容: 我已将hibernate配置为使用oracle序列。使用cache = 20,increment = 1创建序列。 一切正常,hibernate持久实体。id值很奇怪:50,51 .... 76,201,202 … 209,1008,1009,5129,5130 .... 如果我要求序列值(从双重选择hibernate_sequence.nextval),我会得到像2,3,4 …的值。