我在两个表之间有一对多的关系。many 表包含一个 clob 列。在 hibernate 中,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"
and "fizzbuzz"
。因此,在我的主表中,我可以有一个 id 为 4 的便笺,而在我的主表中,我NOTE_JOIN_TABLE
会有两行,"foo"
并且"fizzbuzz"
都与便笺有关系。
但是,当其中一个插入数据库时,较大的替换值将被裁剪为与最短的一样长。所以在这种情况下,我会在数据库中使用"foo"
and"fiz"
而不是"foo"
and "fizzbuzz"
。
你知道为什么会这样吗?我已经检查并确认它们没有在我们的代码中的任何地方被裁剪,它肯定是休眠的。