Java 玩 Ebean - 如何使用表达式 Expr.Or() 或类似的

Java Play Ebean - how to use Expression Expr.Or() or like that

我有一个 class,它在 Java Play Framework 中使用 ebean。 我尝试使用 Expression Expr.Or() 并且我想 return 类型是 PageList<News>

@Entity
@Table(name = "news")
public class News extends Model {

@Id
@Column(name = "news_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long newsId; // ID

@Column(name = "title")
public String title; // タイトル

@Lob
@Column(name = "article")
public String article; // 記事内容

@Column(name = "view_count")
public Integer viewCount = 0; // 閲覧数

@Column(name = "category")
public Integer category; // 1:キャリア 2: スキル 3:テクノロジー

@Column(name = "state")
public Boolean state = false; // 状況 false:下書き true: 公開

@Column(name = "recommend")
public Boolean recommend = false; // おすすめ false:なし true:おすすめ

@Column(name = "created")
@CreatedTimestamp
public Date created; // 登録び

@Column(name = "modified")
@UpdatedTimestamp
public Date modified; // 更新日

@Lob
@Column(name = "image")
public String image; // 画像

@Column(name = "is_deleted")
public Boolean isDeleted = false;

}    

在Play Ebean中,我想查找查询之类的消息

SELECT * FROM NEWS
WHERE title LIE '%?%' 
OR article LIKE '%?%'
OR category LIKE '%?%'
OR state = ?
OR recommend = '?
OR created = '?

那么,我如何编写代码。我尝试使用 Expression Expr.Or()Expression Expr.Or() 但这只能使用两个表达式。 请帮助我。

尝试嵌套 Expr.or() 语句

 Ebean.find(News.class).where().or(
    Expr.or( Expr.like("title", "%?%"), Expr.like("article", "%?%")),
    Expr.or(Expr.like("category", "%?%"),Expr.like("state","?"))
  );