0
hibernate検索でこのクエリを作成しようとすると成功できませんでした。Hibernate SearchでBooleanJunctionを使用するには
Select * from message where (sender.id = "1" AND message.status = "sent") OR (recipient.id = "1" AND message.status = "new") OR (recipient.id = "1" AND message.status = "seen")
どのようにしてluceneで行うことができますか?
私はここ
FullTextSession fullTextSession = Search.getFullTextSession(getSessionFactory().getCurrentSession());
QueryBuilder qb = fullTextSession.getSearchFactory()
.buildQueryBuilder().forEntity(getPersistentClass()).get();
BooleanQuery bquery = new BooleanQuery();
Query q1 = qb.keyword().onField("sender.id").matching(user.getId()).createQuery();
Query q2 = qb.keyword().onField("status").matching(Message.Status.SENT).createQuery();
BooleanJunction must1 = qb.bool();
must1.must(q1);
must1.must(q2);
Query q3 = qb.keyword().onField("recipient.id").matching(user.getId()).createQuery();
Query q4 = qb.keyword().onField("status").matching(Message.Status.NEW).createQuery();
BooleanJunction must2 = qb.bool();
must2.must(q3);
must2.must(q4);
Query q5 = qb.keyword().onField("recipient.id").matching(user.getId()).createQuery();
Query q6 = qb.keyword().onField("status").matching(Message.Status.SEEN).createQuery();
BooleanJunction must3 = qb.bool();
must3.must(q5);
must3.must(q6);
すべてのヘルプを立ち往生?
ありがとう – devrim