如果我使用JPA (EclipseLink)来创建表,字符串类型会产生varchar2(255)。我如何告诉JPA (通过注释)创建varchar2(20)属性。
如果我有一个列表,JPA会创建一个BLOB(4000),但是我想要一个varchar2 (我序列化的对象的字符串很短)
这怎麽可能?我必须用手做吗?
发布于 2010-11-03 15:05:03
您需要使用@Column注释的columnDefinition属性。即
@Column(columnDefinition="varchar2(20)")
发布于 2010-11-03 16:35:54
如果我使用JPA (EclipseLink)来创建表,字符串类型会产生一个varchar2(255)。我如何告诉JPA (通过注释)创建varchar2(20)属性。
使用columnDefinition
会破坏从一个数据库到另一个数据库的可移植性。对于字符串值列,首选使用length
元素(默认为255):
@Column(length=20)
String someString;
发布于 2010-11-03 16:37:21
您可以在@Column
注释上设置length
,如下所示:
@Column(length = 20)
请注意,长度仅适用于文本列。对于数字,可以使用precision
和scale
。
https://stackoverflow.com/questions/4088400
复制相似问题