如何使用条件 api 查询两个具有相同结构的 SQL 表?
How to query two SQL tables with the same structure using criteria api?
我有一个存档数据库,其中有 2 个具有相同结构的 table,活动的 EvntSumaryT 和存档的 ArchiveEvntSumaryT。我想更改我当前的条件 api 代码,该代码仅查询 EvntSumary,以便它将根据用户选择的日期从 table 和 return 结果中获取数据到列表中。
我的问题是它们在 hibernate-criteria 中没有 Union 特性,所以我如何才能同时查询两个 tables 并将结果合并到一个列表中?
下面是我的 jpa 实体 classes 的代码。我已将活动 table 的实体设置为父实体 class,将子实体设置为 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 {
}
这是我的条件 api 在归档数据库之前在 DAO class 中查询。
public List<EvntSumaryT> getAllTransaction(SearchCriteria sb) {
//criteria
return ls;
}
如何在没有 Union 函数的情况下将 table 和 return 结果查询到列表中?
我想通了。我没有使用继承来替换联合函数,而是在数据库中创建了一个视图,该视图是两个表的联合并将实体映射到视图。
我有一个存档数据库,其中有 2 个具有相同结构的 table,活动的 EvntSumaryT 和存档的 ArchiveEvntSumaryT。我想更改我当前的条件 api 代码,该代码仅查询 EvntSumary,以便它将根据用户选择的日期从 table 和 return 结果中获取数据到列表中。 我的问题是它们在 hibernate-criteria 中没有 Union 特性,所以我如何才能同时查询两个 tables 并将结果合并到一个列表中?
下面是我的 jpa 实体 classes 的代码。我已将活动 table 的实体设置为父实体 class,将子实体设置为 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 {
}
这是我的条件 api 在归档数据库之前在 DAO class 中查询。
public List<EvntSumaryT> getAllTransaction(SearchCriteria sb) {
//criteria
return ls;
}
如何在没有 Union 函数的情况下将 table 和 return 结果查询到列表中?
我想通了。我没有使用继承来替换联合函数,而是在数据库中创建了一个视图,该视图是两个表的联合并将实体映射到视图。