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"
なぜこれが起こっているのか分かりますか?コードのどこにもトリミングされていないことを確認しました。間違いなく休止状態です。