如何告诉JPA首选的DataType
如果我使用JPA(EclipseLink)创建表,则String类型会生成varchar2(255)。 我怎么能告诉JPA(通过Annotation)创建一个varchar2(20)属性。
如果我有一个List JPA创建一个BLOB(4000)但我想要一个varchar2(我的序列化对象的字符串很短)
这怎么可能? 我必须手工完成吗?
您需要使用@Column批注的columnDefinition属性。 即
@Column(columnDefinition="varchar2(20)")
如果我使用JPA(EclipseLink)创建表,则String类型会生成varchar2(255)。 我怎么能告诉JPA(通过Annotation)创建一个varchar2(20)属性。
使用columnDefinition
可以破坏从一个数据库到另一个数据库的可移植性。 对于字符串值列,首选使用length
元素(默认为255):
@Column(length=20) String someString;
您可以在@Column
注释上设置length
,如下所示:
@Column(length = 20)
请注意,长度仅适用于文本列。 对于数字,您可以使用precision
和scale
。
@Column(name = "doc_number", columnDefinition = "varchar2(20)")
请试试。