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
-속성 또는 사용해야 합니까?columnDefinition
-어쨌든?
몇 달이 지나고, 새로운 지식이 습득되었기 때문에, 저는 제 질문에 대답할 것입니다.
@Lob
@Column
final String someString;
가장 정확한 결과를 산출합니다.의 버전과 함께hbm2ddl
저는 사용하고 있습니다. 이것은 유형으로 변환될 것입니다.text
와 함께SqlServerDialect
는 최신 버전의 SQL Server에서 대체되었으므로, 바라건대, 최신 버전의hbm2ddl
항복할 것입니다varchar(max)
대신에text
이러한 유형의 매핑(현재 저는 꽤 오래된 버전의 Hibernate에 갇혀 있습니다...)
부터length
JPA 사양 및 javadocs에서 다음과 같이 정의됩니다.int
타이프와max
가 아닙니다.int
그렇다면 당신이 그 곳에 위탁되었다고 가정하는 것이 안전합니다.columnDefinition
데이터스토어 종속 경로입니다.그러나varchar(max)
어쨌든 데이터스토어에 종속되어 있습니다.
안녕하세요 아래 코드는 동일한 문제를 수정했습니다.
@Column(columnDefinition="TEXT")
@Lob
final String someString;
사용하다@Size(max = 1337)
생성됩니다.varchar(1337)
이 코드를 사용할 수 있습니다.
모델 코드:
@NotNull
@Length(max = 7)
@Column(name = "Gender")
private String gender;
SQL 출력은 다음과 같습니다.
> gender varchar(7)
언급URL : https://stackoverflow.com/questions/16414215/jpa-how-to-set-string-column-to-varcharmax-in-ddl
'programing' 카테고리의 다른 글
PL/SQL 프로그램 중단 (0) | 2023.07.04 |
---|---|
R에서 데이터 프레임에 행을 추가하는 방법은 무엇입니까? (0) | 2023.07.04 |
어떻게 하면 Git-diff처럼 일을 어렵게 할 수 있을까요? (0) | 2023.06.29 |
GitHub에서 자신의 저장소를 어떻게 포크합니까? (0) | 2023.06.29 |
판다 데이터 프레임에 목록이나 시리즈를 행으로 추가하시겠습니까? (0) | 2023.06.29 |