codememo

최대 길이로 최대 절전 모드에서 열의 길이를 설정하는 방법

tipmemo 2023. 8. 16. 22:23
반응형

최대 길이로 최대 절전 모드에서 열의 길이를 설정하는 방법

개체를 데이터베이스에 저장합니다.
MySQL 데이터베이스를 사용하고 있지만 사용해 보면 "데이터가 열 길이보다 큽니다"라는 예외가 발생합니다.
최대 절전 모드를 사용하여 열의 길이를 늘리려면 어떻게 해야 합니까?

만약 당신의 칼럼이varchar주석을 사용합니다.length

@Column(length = 255)

또는 다른 열 유형을 사용합니다.

@Column(columnDefinition="TEXT")

주석을 기반으로 답변 업데이트:

@Lob
@Column(name = Columns.COLUMN_NAME, columnDefinition = "NVARCHAR(MAX)")

max최대 스토리지 크기가 2^31-1바이트(2GB)임을 나타냅니다.

열에 길이 주석을 사용할 수 있습니다.이를 사용하면 열 길이를 최대화하거나 최소화할 수 있습니다.길이 주석은 다음에 대해서만 사용됩니다.Strings.

@Column(name = "NAME", nullable = false, length = 50)  
@Length(max = 50)
public String getName() {
    return this.name;
}

사용하다@Column주석 및 정의length기여하다.Hibernate의 문서에서 참조를 확인합니다(섹션 2.2.2.3).

my chalvceck의 답변과 마찬가지로 String 값에 length 속성을 사용할 수 있지만 데이터베이스에서 VARCHAR(MAX)로 설정하려면 MS SQL에서 이 솔루션이 작동했습니다.

@Column(length = Integer.MAX_VALUE)

@Column(크기 = 50) 주석과 @Size(최대 = 50) 주석을 모두 사용할 수 있지만, @Size 주석에서 Hibernate는 엔티티를 삽입하거나 업데이트하기 전에 자동으로 유효성 검사를 트리거하기 때문에 @Column(크기 = 50) 주석보다 @Size(최대 = 50) 주석을 사용하는 것이 더 좋습니다.

@Column(size = 50);

또는

@Size(max = 50); //it's better because Hibernate check automatically validation

당신은 당신의 테이블을 바꿀 필요가 있습니다.DDL 문을 사용하여 열 너비를 늘립니다.

여기를 보세요

http://dba-oracle.com/t_alter_table_modify_column_syntax_example.htm

언급URL : https://stackoverflow.com/questions/13363969/how-to-set-length-of-an-column-in-hibernate-with-maximum-length

반응형