1
일부 PK 필드가 CHAR (9)로 정의되고 일부 값은 패딩과 함께 저장되는 Oracle 테이블이 있습니다.eclipselink 사용시 CHAR 트리밍 방지
따라서 키 필드에서 스페이스 패딩을 사용하여 모든 객체를 검색해야합니다. 그러나 EclipseLink가 오브젝트로 데이터를 읽을 때 공백이 제거됩니다. 이것은 ID 값에서 발생하기 때문에 @PostLoad를 사용하여 키를 '수정'하여 공백을 포함 할 수있는 방법이 없습니다.
키 - 값이 잘린 값으로 변경되고 키 - 값에 대한 업데이트/삭제가 누락되어 개체를 삭제/업데이트 할 방법이 없습니다.
영속성 단위가 CHAR 열의 값을 자르지 않도록 어떻게 구성합니까?
public MyCustomizer implements SessionCustomizer {
public customize(Session session) {
session.getLogin().setShouldTrimStrings(false);
}
}
그러나 일반적으로
대신 VARCHAR의 CHAR를 사용하여 당신이를 구성 할 SessionCustomizer을 사용할 수 있습니다
괜찮습니다. 고마워요. 나는 CHAR의 사용법을 명시하지 않았고, 일반적으로 나쁜 생각입니다 ... –