0

これができるかどうかわかりません。文字列を休止状態で保存する属性があります。String tagsこのプロパティの値は次のようになります。tags="car,airplane,bycicle"

ここで、タグ値にサブストリング「car」が含まれているインスタンスを取得したいと思います。

Object A --> tags="car,airplane"
Object B --> tags="bycicle"
Object C --> tags="bycicle,car"

AとCを返す

これを行う方法はありますか?

オブジェクトをタグで分類してから、1つ以上の特定のタグを含むオブジェクトを復元しようとしています。

アイデアは、質問をするときにStackoverflowがタグフィールドで行うのと同じことを行うことです。

4

1 に答える 1

1

これこそまさに、データベースの正規化が重要な理由です。複数の値を 1 つの列に格納しないでください。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%'

しかし、これははるかに遅くなり、タグcareまたはvacarmを持つ投稿を返します。

于 2012-11-25T18:13:39.300 に答える