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