为了账号安全,请及时绑定邮箱和手机立即绑定

JPQL——空值到布尔值?

JPQL——空值到布尔值?

梦里花落0921 2023-10-19 21:00:56
假设我有一个实体@Entity@Table(name = "foos")class Foo{   @Id   @Generatedvalue(strategy = IDENTITY)   private Long id;   @ManyToOne   @JoinColumn(name = "bar_id")   private Bar bar;   ...}和一个投影应该给我一个id和 一个boolean告诉我该实例是否有一个Bar:interface FooProjection{    String getId();    Boolean hasBar();}如何编写 JPQL 查询?我确实尝试过@Query(    "SELECT"    "   f.id,"    "   (f.bar IS NOT NULL) AS bar"    " FROM Foo f")List<FooProjection> findProjections();这给了我一个org.eclipse.persistence.exceptions.JPQLException非常有用的错误消息该表达式无效,这意味着它不遵循 JPQL 语法。你如何编写这个查询?
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

我不知道您是否应该运行此查询,但语法的一种修复方法是使用表达式CASE:


@Query(

    "SELECT"

    "   f.id,"

    "   CASE WHEN f.bar IS NOT NULL THEN TRUE ELSE FALSE END AS bar"

    " FROM Foo f"

)

List<FooProjection> findProjections();


查看完整回答
反对 回复 2023-10-19
  • 1 回答
  • 0 关注
  • 67 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信