[英]Search into a property String type, some characters with hql for hibernate
我不知道我能不能做到这一点。 我有一个属性,我在其中存储一个休眠的String:一个String tags
此属性可以赋值,例如: tags="car,airplane,bycicle"
现在,我想获取其标签值包含子字符串“ car”的实例:
Object A --> tags="car,airplane"
Object B --> tags="bycicle"
Object C --> tags="bycicle,car"
返回A和C
有什么办法吗?
我尝试通过标签对对象进行分类,然后还原包含一个或多个特定标签的对象。
这样做的想法与在您提出问题时Stackoverflow对标签字段所做的相同。
这就是为什么数据库规范化很重要的原因。 多个值永远不能存储在单个列中。 您应该有一个Tag实体,并且在您的实体和Tag实体之间具有ManyToMany关联。 如果有的话,您可以做
select p from Post p inner join p.tags tag where tag.name = 'car'
使用当前的设计,最好的选择是
select p from Post p where p.tags like '%car%'
但这会慢很多,并且会返回贴有细心或vacarm标签的帖子 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.