Java 在Hibernate中查询与集合匹配的实体

Java 在Hibernate中查询与集合匹配的实体,java,hibernate,Java,Hibernate,假设我有两个实体——标记和文本,其中文本有多个标记,我想用它们做几件事。如果你能帮我想出一个优雅的解决方案,我将非常高兴 我想一次通过多个标记搜索文本实体-所有标记必须匹配 我想通过多个标记来搜索文本实体,第二个参数指定必须有多少个标记 我想指定标记对或标记三元组,每对中至少有一个必须匹配 有什么建议吗?谢谢无论您使用SQL、HQL还是JPQL,这些问题的答案都几乎相同: 我想通过搜索文本实体 一次多个标记-所有标记都必须 匹配 我想通过搜索文本实体 多个标记,第二个参数 指定必须达到多少马赫

假设我有两个实体——标记和文本,其中文本有多个标记,我想用它们做几件事。如果你能帮我想出一个优雅的解决方案,我将非常高兴

我想一次通过多个标记搜索文本实体-所有标记必须匹配

我想通过多个标记来搜索文本实体,第二个参数指定必须有多少个标记

我想指定标记对或标记三元组,每对中至少有一个必须匹配


有什么建议吗?谢谢

无论您使用SQL、HQL还是JPQL,这些问题的答案都几乎相同:

我想通过搜索文本实体 一次多个标记-所有标记都必须 匹配

我想通过搜索文本实体 多个标记,第二个参数 指定必须达到多少马赫

where text like %tag1% and text like %tag2% // etc.
StringBuilder sb = new StringBuilder();
for(int i = 0; i < howmany; i++){
   sb.append('%').append(param);
}
sb.append('%');

String query = "some query text where " + sb.toString()
where text like %tag1% or text like %tag2% -- etc