Java 搜索属性字符串类型,其中一些字符使用hql表示hibernate

Java 搜索属性字符串类型,其中一些字符使用hql表示hibernate,java,hibernate,hql,Java,Hibernate,Hql,我不知道我是否能做到这一点。我在hibernate中存储了一个字符串:String tags这个属性的值可以是,例如:tags=“car,frame,bycicle” 现在我想获取其标记值包含子字符串“car”的实例: 返回A和C 有没有办法做到这一点 我尝试按标记对对象进行分类,然后恢复包含一个或多个特定标记的对象 这样做的目的是,当您询问问题时,Stackoverflow对tags字段执行相同的操作。这正是数据库规范化非常重要的原因。不应将多个值存储在一列中。您应该有一个标记实体,并且实体和

我不知道我是否能做到这一点。我在hibernate中存储了一个字符串:
String tags
这个属性的值可以是,例如:
tags=“car,frame,bycicle”

现在我想获取其标记值包含子字符串“car”的实例:

返回A和C

有没有办法做到这一点

我尝试按标记对对象进行分类,然后恢复包含一个或多个特定标记的对象


这样做的目的是,当您询问问题时,Stackoverflow对tags字段执行相同的操作。

这正是数据库规范化非常重要的原因。不应将多个值存储在一列中。您应该有一个标记实体,并且实体和标记实体之间有许多关联。如果你有,你可以简单地做

select p from Post p inner join p.tags tag where tag.name = 'car'
根据您当前的设计,您的最佳选择是

select p from Post p where p.tags like '%car%'
但是这会慢得多,并且会返回带有小心或真空标签的帖子。

您看到这个答案了吗?
select p from Post p where p.tags like '%car%'