【发布时间】:2021-09-10 10:25:00
【问题描述】:
@FilterDef(name = CommonConstants.PRODUCT_FILTER, parameters = {@ParamDef(name="products", type = "long")})
@Filter(name = CommonConstants.PRODUCT_FILTER, condition = "alert.product in (:products)")
@NoArgsConstructor
@SuperBuilder
public class AlertNotificationUserJpaEntity extends AbstractJpaEntity {
@Column(name = "USER_ID")
private Long user;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "ALERT_ID")
private AlertJpaEntity alert;
}
@FilterDef(name = CommonConstants.PRODUCT_FILTER, parameters = {@ParamDef(name="products", type = "long")})
@Filter(name = CommonConstants.PRODUCT_FILTER, condition = "PRODUCT_ID in (:products)")
@Table(name = "alert")
@NoArgsConstructor
@SuperBuilder
public class AlertJpaEntity extends AbstractJpaEntity {
private static final long serialVersionUID = 1L;
@Column(name = "PARENT")
private Long parent;
@Column(name = "PRODUCT_ID")
private Long product;
@Column(name = "SUBPRODUCT_ID")
private Long subProduct;
}
当我运行声明性方法 findByUser(Long userId) 它抛出错误说 alert.product 不存在
有什么方法可以获取
类似
select alertNotif from AlertNotificationUserJpaEntity alertNotif inner join AlertJpaEntity alert on alertNotif.alert.id = alert.id where alert.product in (:product)
【问题讨论】:
标签: hibernate spring-data-jpa hibernate-session hibernate-filters