从数据库会议标准中有效地获取大量实体

时间:2015-08-04 12:37:09

标签: java postgresql jpa criteria

我们说我在表A中有大约一半的记录。当然,表A与表B,C等连接。现在我必须从表A中获取符合我标准的实体。我的标准包括大约20-30个规则,例如表A中的名称必须类似于“'或表B中来自表A的连接记录的日期ID = 1应该早于今天。我看到了三个解决方案:

  1. 编写本机查询并根据我的条件输入参数。但是在这种情况下,我会加入很多表格,这对我来说并不是一个很好的例子。
  2. 从表A中获取所有记录,然后在Java中检查每条记录的每条规则。但对我而言,这似乎是最糟糕的解决方案。
  3. 使用JPA标准。但说实话,我不知道它们有多高效,而有很多记录和很多联合表。当我有如此多的规则要匹配时,对我来说,与Criteria一起工作的内容可能会有点刺激。
  4. 也许我的问题有另一个(更好的)解决方案,但我现在看不到它。我需要补充一点,我需要存储在Java集合中的这些获取实体,因为当它们全部被提取时,我必须使用它们(例如,根据这些信息生成报告或在DB中创建一些更新)。

    我希望我能清楚地描述我的问题,并且我会感谢每一个提示如何优化这样的查询。

0 个答案:

没有答案