JPA 2.0 数据对于列表中的列来说太长

Posted

技术标签:

【中文标题】JPA 2.0 数据对于列表中的列来说太长【英文标题】:JPA 2.0 Data too long for Column in a List 【发布时间】:2017-08-22 19:52:39 【问题描述】:

我的对象模型中有一个为关键字定义的字符串列表:

/**
 * List of keywords
 */
@Column(name="KEYWORDS")
@CollectionTable(name="pub_keywords",joinColumns=@JoinColumn(name="publicationid"))
@ElementCollection
private List<String> keywords;

但是我得到的一些数据太大而无法放入数据库。并抛出以下错误:

原因:com.mysql.jdbc.MysqlDataTruncation:数据截断:第 1 行的“KEYWORDS”列的数据太长

我知道我可以在 String 元素上使用@Lob 来增加大小,但是如何定义@Lob 元素的列表?

谢谢

【问题讨论】:

【参考方案1】:

根据javadoc:

当元素集合值为基本类型时,Lob注解可以与Basic注解或ElementCollection注解结合使用

来源:http://docs.oracle.com/javaee/6/api/javax/persistence/Lob.html

【讨论】:

附带说明,测试它会比提问更快

以上是关于JPA 2.0 数据对于列表中的列来说太长的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个值对于我的 H2 表来说太长了

对于要求,我需要通过从该数据帧的列中的列表中的值创建行来将数据帧转换为 [重复]

JPA 2.0:如何通过 JPA 提高批量插入的性能

Reportlab - 如果段落对于一行来说太长,如何引入换行符

删除列表中数据框中的列

如何将数据库表中的列放入动态列表中?