2013-10-08 1 views
0

APACHE ISIS에 메시지 (문자열)를 저장하는 프로그램이 있습니다. 그러나, 나는 데이터베이스에있는 메시지의 크기는 내가, 255 개 이상의 문자로 을 메시지를 저장하기 위해 갈 때 255 SO 그것은 저장 값데이터베이스의 열 크기 변경 (APACHE ISIS)

javax.jdo.JDOFatalUserException

시도처럼 보인다는 것을 발견 "인스턴스 변수 (비 정적 필드) 기술적으로 말해서 객체는 개별 상태를"비 정적 필드 ", 즉 static 키워드없이 선언 된 필드에 저장합니다. 비 정적 필드는 값이 고유하기 때문에 인스턴스 변수라고도합니다. 클래스의 각 인스턴스 (즉, 각 객체마다), 현재 자전거의 현재 속도는 다른 자전거의 현재 속도와 독립적입니다. 클래스 변수 (정적 필드) 클래스 변수는 모든 필드 d 정적 수정 자로 eclared; 이것은 클래스가 인스턴스화 된 횟수에 관계없이 존재하는이 변수의 사본이 정확히 하나 있다는 것을 컴파일러에 알려줍니다. 개념적으로 동일한 수의 기어가 모든 경우에 적용되기 때문에 특정 종류의 자전거에 대한 기어 수를 정의하는 필드는 정적으로 표시 될 수 있습니다. 코드는 정적 int numGears = 6; 정적 필드를 생성합니다. 또한 기어 수를 절대로 변경할 수 없다는 것을 나타 내기 위해 final 키워드를 추가 할 수 있습니다. 로컬 변수 객체가 필드에 상태를 저장하는 것과 비슷하게 메소드는 종종 임시 변수를 로컬 변수에 저장합니다. 지역 변수를 선언하는 구문은 필드를 선언하는 것과 유사합니다 (예 : int count = 0;). 변수를 지역 변수로 지정하는 특별한 키워드는 없습니다. 그 결정은 변수가 선언 된 위치에서 완전히 온다 - 어를 "열에"255의 최대 길이가 MESSAGE "데이터를 수정하십시오

private String message; 
@MemberOrder(sequence="3") 

@MaxLength(5000) 

public String getMessage() { 
    return message; 
} 
public void setMessage(String message) { 
    this.message = message; 
} 

하시기 바랍니다 사람이 데이터를 저장 5000 개 이상의를 위해 저를 제안! 문자. 내 생각, 당신은

+0

@Column (length = Integer.MAX_VALUE)을 시도했으며 해당 프로그램을 실행할 때 오류가있는 것 같습니다. 자사의 변수가 너무 큰 jdbc에 대한 텍스트 또는 blob 변수로 변경해야합니다. – user2729846

답변

0

이 데이터베이스에 따라 달라집니다 감사합니다.

일부 데이터베이스

255 개 문자로 제한됩니다, 나는 그런 MS SQL Server 및 사이베이스와 같은 일부, 알고 있지만 열 이상을 지원할 것 예를 들어 MS SQL에서는 다음과 같이 잘 실행됩니다.

create table t1(a char(8000)) 

사용중인 데이터베이스의 한계를 알아 내려고 실험 해보십시오.

그걸 알아 내면 JDO와 Isis를 모두 구성하여 최대 길이를 알려줘야합니다. JDO의 경우 @javax.jdo.annotations.Column(length=x); 이시스의 경우 @MaxLength(x)을 사용하십시오. 예를 들어

: 데이터베이스가 255 문자의 열을 숯불로 제한하고, 다른 데이터베이스를 사용하는 경우, 다음 유일한 옵션은 이시스 'Clob 클래스를 사용하는 것입니다

@javax.jdo.annotations.Column(length=1000) 
@MaxLength(1000) 
public String getDescription() { ... } 

. @JDO Column(length=...)가있는 경우 이시스가 자동으로 @MaxLength을 유추 있도록이에


관련, 난 그냥, ISIS-557을 제기 (및 구현)했습니다.

+0

길이 제한없이 사용할 수있는 솔루션이 있습니까? – user2729846

+0

org.apache.isis.applib.value를 사용할 수 있습니다.Blob (기본적으로 바이트 [] 배열을 둘러싼 래퍼와 MIME 유형 및 이름) –

관련 문제