2011-04-19 4 views
1

너비가 고정되어 있고 숫자 만 필요한 필드가 내 개체에 있습니다. 0002, 0103 또는 1212와 같은 값을 보유 할 것입니다. 현재,이 필드를 문자열로 정의하는 Java 객체가 있고 데이터베이스 (MySQL)는 4 문자로 채워진 정수입니다 : laborCode int(4) zerofill. 나는이 패턴이 다른 두개의 테이블을 가지고있다. 이 테이블은 자동 번호 기본 키를 통해 다른 테이블에 연결된 조회 테이블입니다.고정 폭 번호에는 어떤 필드 유형을 사용해야합니까?

프런트 엔드에서 사용자가 테이블에 데이터를 추가 할 때 사용자가 숫자를 입력하도록 미리 정의 된 유효성 검사가 있으므로 입력해야하는 것은 모두 2, 103 또는 1212입니다. 삽입되면, 나는 데이터를 왼쪽으로 채우고 선택 문은 패딩 된 값을 반환하는 코드가 필요 없다.

테이블을 만든 후에는 해당 필드를 char : laborCode char(4)으로 정의해야한다고 생각하기 시작했습니다. 이 방법으로 정의한 경우 데이터 형식을 올바르게 지정해야하며 개체의 setter 메서드를 사용하여 쉽게 수행해야합니다. 이 방법은 내게 조금 더 정확한 것, 내 Java 개체의 문자열 값을 데이터베이스의 문자열 값에 매핑합니다.

하나의 데이터 유형으로 필드를 다른 필드보다 정의하는 데있어 장점/단점이 있습니까?

답변

1

저는 개인적으로 숫자를 숫자로 남겨 두었습니다. 다른 숫자 연산을 쉽게 정렬/수행 할 수 있습니다. 또한 실수로 알파벳을 절대 삽입 할 수 없습니다.

도메인 개체 설정 도구에서 NumberFormat을 사용하여 개체 수혜를 위해 숫자 서식을 올바르게 지정할 수 있습니다.

+0

나는 비즈니스가 0으로 채워지기를 원하기 때문에 정렬에 대해 걱정하지 않아도됩니다. char 필드조차 제대로 정렬됩니다. – xecaps12

관련 문제