web-dev-qa-db-ja.com

JPA-DDLで文字列列をvarchar(max)に設定する方法

[〜#〜] jpa [〜#〜] の場合、属性のDDL生成:

_@Column
final String someString;
_

someString varchar(255) nullになります

_@Column(length = 1337)
final String someString;
_

someString varchar(1337) nullを生成します。

しかし、どのようにしてsomeString varchar(max) nullを生成できますか?

length- attributeを使用することは可能ですか、またはcolumnDefinition- attributeを使用する必要がありますか?

38
Tobb

このコードを使用できます-

モデルコード:

@NotNull  
@Length(max = 7)  
@Column(name = "Gender")  
private String gender;

SQL出力は

> gender varchar(7)
0
cm_mehdi

lengthはJPA仕様およびjavadocsでint型として定義されており、maxintではないため、委託されていると想定しても安全です。 columnDefinitionデータストア依存ルート。ただし、varchar(max)はデータストア依存です。

0
DataNucleus