我有一个存档数据库,其中有 2 个具有相同结构的表,EvntSumaryT 处于 Activity 状态,ArchiveEvntSumaryT 处于存档状态。我想更改当前的标准 api 代码,该代码仅查询 EvntSumary,以便它将根据用户选择的日期从两个表中获取数据并将结果返回到列表中。 我的问题是,它们在 hibernate-criteria 中没有 Union 功能,所以我如何能够同时查询两个表并将结果合并到一个列表中?
下面是我的 jpa 实体类的代码。我已将 Activity 表的实体设置为父类,将子类设置为 ArchiveEvntSumaryT,它的范围从它开始,因为它们共享相同的字段。
@Entity
@Table(name="EVNT_SUMARY_T")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class EvntSumaryT {
//fields
//getters and setters
}
@Entity
@Table(name="ARCHIVE_EVNT_SUMARY_T")
public class ArchiveEvntSumaryT extends EvntSumaryT {
}
这是我在归档数据库之前在 DAO 类中进行的条件 api 查询。
public List<EvntSumaryT> getAllTransaction(SearchCriteria sb) {
//criteria
return ls;
}
如何在没有 Union 函数的情况下查询两个表并将结果返回到列表中?
最佳答案
我明白了。我最终没有使用继承来替换联合函数,而是在数据库中创建了一个 View ,该 View 是两个表的联合,并将实体映射到 View 。
关于java - 如何使用 criteria api 查询具有相同结构的两个 SQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34001700/