Hibernate 의 createsQLQuery 데이터베이스 형식 이 char 인 필드 를 조회 할 때 주의해 야 합 니 다.

오늘 답답 한 일이 생 겼 습 니 다. hibenate 의 createsQLQuery 를 통 해 id, number, name 등 몇 개의 필드 를 조회 한 결과 이상 한 현상 이 발견 되 었 습 니 다. id 필드 는 한 글자 만 받 았 고 다른 필드 는 정상 입 니 다.갑자기 궁금 해 져 서 무슨 문제 인지 모르겠다.뒤에 생각해 보면 id 는 데이터베이스 에 CHAR (32) 유형 이 고 다른 필드 는 VARCHAR 이면 정상 입 니 다. 이것 과 관계 가 있 지 않 습 니까?
다행히 자 료 를 찾 았 습 니 다. 확실히 그 렇 군요. hibenate 는 char 를 자동 으로 char 로 표시 합 니 다!
addScalar 를 통 해 반환 형식 을 정의 하여 해결 할 수 있 습 니 다. 쓸데없는 말 은 하지 않 습 니 다. 다음 과 같 습 니 다.
Query query = session.createSQLQuery(queryString)
						.addScalar("id", Hibernate.STRING)
						.addScalar("number", Hibernate.STRING)
						.addScalar("subject", Hibernate.STRING)
						.addScalar("status", Hibernate.STRING)
						.addScalar("article_or_point", Hibernate.STRING);

저작권 성명: 본 고 는 블 로 거들 이 창작 한 글 로 블 로 거들 의 허락 없 이 전재 할 수 없다.

좋은 웹페이지 즐겨찾기