java - 关于使用连接表字段作为谓词条件的持久性问题
问题描述
我正在尝试通过我们实体中的多个字段从A8SPT282
具有表连接器的表中获取数据:A8SPT214
@OneToOne
@JoinColumns(value = {@JoinColumn(name = "ORIGINATOR", referencedColumnName ="ORIGINATOR",insertable = false, updatable = false),
@JoinColumn(name = "HUD_OFFICE", referencedColumnName = "HUD_OFFICE", insertable = false, updatable = false),
@JoinColumn(name = "FISCAL_YEAR", referencedColumnName ="FISCAL_YEAR", insertable = false, updatable = false),
@JoinColumn(name = "TRANSMITTAL_ID", referencedColumnName = "TRANSMITTAL_ID", insertable = false, updatable = false),
@JoinColumn(name = "NAID", referencedColumnName = "NAID",insertable = false, updatable = false) })
private A8SPT214 a8spt214 ;
当我使用持久性获取表 282 时,其中构建器标准基于表 214 中的字段,但在使用 a8spt214.hudOffice 字段时出现错误:
CriteriaBuilder builder = samsSessionFactory.getCriteriaBuilder();
javax.persistence.criteria.CriteriaQuery<A8SPT282> criteria = builder.createQuery(A8SPT282.class);
Root<A8SPT282> root = criteria.from(A8SPT282.class);
criteria.select(root);
if (disbursementSequence != null) {
Predicate pred1 = builder.and(
builder.equal(root.get("a8spt214.hudOffice"), hudOffice),
builder.equal(root.get("a8spt214.naid"), naid),
builder.equal(root.get("a8spt214.disbursementSequence"), disbursementSequence));
criteria.where(pred1);
}
我们是否允许在持久性中使用连接表中的字段作为谓词构建器的一部分?
谢谢
解决方案
推荐阅读
- angular - 如何将 *ngFor 与实现自定义接口的对象一起使用
- tableau-api - Tableau 如何显示列的平均值
- c# - 通过其他实例变量设置方法更新实例变量
- javascript - 根据选择过滤列表
- python - Onekeypress 属性错误?
- node.js - 在 API GATEWAY 中设置映射模板后无法获取标头
- android - 带有 SimpleCursorAdapter 的 AutoCompleteTextView 不过滤
- php - 获取我已转换为 HTML 表格的报告数据
- mysql - 如何在 MYSQL 中使用 Group 语句选择多个属性
- alloy - 提取集合中具有特定属性的所有元素(与特定值相关)