2 つのテーブル間に 1 対多の関係があります。many テーブルには clob カラムが含まれています。clob 列は休止状態では次のようになります。
@CollectionOfElements(fetch = EAGER)
@JoinTable(name = NOTE_JOIN_TABLE, joinColumns = @JoinColumn(name = "note"))
@Column(name = "substitution")
@IndexColumn(name = "listIndex", base = 0)
@Lob
private List<String> substitutions;
したがって、基本的に、いくつかの置換を含むメモがある場合が"foo"あり"fizzbuzz"ます。したがって、私のメイン テーブルには ID 4 のメモがあり、私のテーブルにNOTE_JOIN_TABLEは 2 つの行が"foo"あり"fizzbuzz"、両方ともメモと関係があります。
ただし、これらのいずれかが DB に挿入されると、より大きな置換値が最短になるようにトリミングされます。したがって、この場合、 DB には and の代わりに"foo"andがあります。"fiz""foo""fizzbuzz"
なぜこれが起こっているのか分かりますか?コードのどこにもトリミングされていないことを確認しました。間違いなく休止状態です。