繁体   English   中英

搜索属性字符串类型,一些带有hql的字符用于休眠

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM