【发布时间】:2021-02-21 18:05:48
【问题描述】:
我正在编写一个查询以返回所有状态为 False 并按其订单日期排序的订单。 这里基于日期的排序工作正常,但 orderStatus.cancelled=false 不起作用。无论是否取消,我都会收到所有订单。
存储库
public interface OrdersRepository extends JpaRepository<Orders,Integer> {
@Query("select o from Orders o where o.orderStatus.cancelled=false order by o.orderDate")
List<Orders> getAllOrders();
}
订单
@Entity
public class Orders {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "order_id")
private int id;
@OneToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
@JoinColumn(name = "order_id")
@MapsId
private OrderStatus orderStatus;
}
订单状态
@Entity
public class OrderStatus {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "order_id")
private int id;
.....
.....
private boolean cancelled;
}
【问题讨论】:
-
尝试 0 而不是 false
-
还要检查查询类导入
-
请分享生成的 SQL 查询,如日志输出所示。
标签: java mysql spring-boot hibernate