java - JPA / Hibernate - @OneToOne 和 @Where 不工作 - 那么现在呢?
问题描述
我在@OneToMany 关系中成功使用了@Where 子句,如下所示:
@OneToMany(mappedBy="reconciliationId")
@Where(clause = "debit_type = 'TAX_RETURN'")
private List<BtaReconciliation> taxPaidReconciliation;
BtaReconciliation 类是这样的:
@Table(name = "bta_reconciliation")
public class BtaReconciliation implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "reconciliation_id")
private Long reconciliationId;
@Column(name = "debit_type")
private String debitType;
@Column(name = "credit_type")
private String creditType;
问题是关系应该是 OneToOne 而不是 ManyToOne。问题是当我更改为:
@OneToOne(mappedBy="reconciliationId")
@Where(clause = "debit_type = 'TAX_RETURN'")
private BtaReconciliation taxPaidReconciliation;
它不起作用。taxPaidReconciliation 字段始终为空。
我在网上做了一些搜索,我可以看到@Where 不能与@OneToOne 一起使用。
它根本不会像上面那样工作。
我尝试了许多其他选择,但我根本无法找到一种方法来让它发挥作用。
注意:不应该更新 BtaReconciliation 类,因为有许多 debit_types,我不想在那里引入更改以支持每个 debit_type。
我期待收到有关如何最好地解决此问题的回复。
亲切的问候,弗格尔
解决方案
推荐阅读
- php - 如何找出如何通过 PHP 在 cURL 中翻译 Postman 查询
- excel - 为什么我会收到“运行时错误 '13':类型不匹配”错误消息?
- django - 将表单值保存到数据库的不同方法
- django - 删除数据库后表 'django_migrations' 已存在
- python - 将 --trusted-host 添加到 pycharm 包安装程序
- excel - 突出显示不在另一列中的单元格
- python - 如何在 HTML 中循环特定文件?
- firebase - snapshotListener 的第一个查询快照
- apache - Kerberos + Apache 反向代理 Windows
- c# - 在我的 ARM 模板中添加 azure 功能需要什么?