jpa - 仅在某些特定条件下加载表 (@Where)
问题描述
我要做的是只加载promotion.enabled = 1 AND PromotionType.enabled = 1的促销活动。我尝试@Where
在两个表中添加注释,但是当我将promotionType, enabled 设置为0 时出现错误。另一方面,我也尝试将@WhereJoinTable
子句添加到promotionType,但我没有得到预期的结果。有什么帮助吗?
第一个:
@Entity
@Table(name = "HOTEL_PROMOTION")
@Where(clause = "enabled=1")
public class Promotion implements Serializable {
private static final long serialVersionUID = 257070400893576505L;
@Id
@Column(name = "PROMOTION_ID")
private Long id;
@Column(name = "CODE")
private String code;
@Column(name = "NAME")
private String name;
@Column(name = "PRIORITY")
private Long priority;
@ManyToOne
@JoinColumn(name = "PROMOTION_TYPE_ID")
@WhereJoinTable(clause = "enabled=1")
private PromotionType promotionType;
@Column(name = "ENABLED")
private Boolean enabled;
}
第二个:
@Entity
@Table(name = "HOTEL_PROMOTION_TYPE")
public class PromotionType implements Serializable {
private static final long serialVersionUID = -8359165117733458987L;
@Id
@Column(name = "PROMOTION_TYPE_ID")
private Long id;
@Column(name = "CODE")
private String code;
@Column(name = "NAME")
private String name;
@Column(name = "STYLE")
private String style;
@Column(name = "ENABLED")
private Boolean enabled;
}
解决方案
推荐阅读
- python - New target column based on a pattern
- java - 在 onCreate 中创建按钮时使用注释单击
- python - Python : Convert 2D numpy array to pandas series
- text-editor - 如何在 interviewbit 的在线代码编辑器中同时替换所有相同的单词?
- python - 从多个 numpy 数组中删除最小的 p% 数字
- javascript - 我可以用什么代替 Java 中的 Set()?
- javascript - 一种在javascript中循环调整图像大小的方法
- linux - 安装arch后无法上网
- java - 从 C++ 到 Java——什么是 Gradle
- c# - 在 .NET Framework 4 中使用多个环境