我不知道我能不能做到这一点。我有一个属性,我在休眠中存储了一个字符串:String tags
此属性可以值例如:tags="car,airplane,bycicle"
现在我想获取其标签值包含子字符串"car"的实例:
Object A --> tags="car,airplane"
Object B --> tags="bycicle"
Object C --> tags="bycicle,car"
返回 A 和 C
有什么办法可以做到这一点吗?
我尝试按标签对对象进行分类,然后恢复包含一个或多个特定标签的对象。
这个想法是当你去问一个问题时,做同样的 Stackoverflow 对标签字段所做的。
这正是数据库规范化很重要的原因。不应将多个值存储在单个列中。您应该有一个标记实体,并且您的实体和标记实体之间具有多对多关联。如果你有这个,你可以简单地做
select p from Post p inner join p.tags tag where tag.name = 'car'
使用您当前的设计,最好的选择是
select p from Post p where p.tags like '%car%'
但这会慢得多,并且会返回带有标签的帖子 小心或真空.