2011-02-02 2 views
0

테이블이 있습니다. 업로드 된 파일을 blob로 저장하고 다른 중요한 파일 정보도 저장하는을 업로드합니다. 그것은 내 Java 응용 프로그램에서Hibernate - Blob 바이트 배열이없는 파일 목록

file_id INT 
file_mime VARCHAR 
file_size INT 
file BYTE[] 
... 

과 같은 명백한 필드가 나는 모델 클래스 업로드이 매핑했다. 내가 파일

List<Uploads>. 

의 목록을 내 응용 프로그램에서 내 DAO를 호출 할 때 내가 해결하기 위해 노력하고 있어요 문제는 내가 가되지 결과 집합에서 파일 바이트 [] 배열의 덩어리를 포함 할 할 것입니다.

실제 파일 바이트 [] 배열이 결과 집합에 필요하지 않도록 서블릿을 사용하여 파일을 제공하고 이미지를 표시합니다.

업로드 테이블에서 select 문을 수행하지만 결과 집합에서 파일 byte []를 제외하려고하면 파일 필드가 없으므로 List로 캐스팅 할 수 없습니다.

업로드 테이블을 쿼리하고 목록을 반환하면 모든 파일 필드가 null로 설정됩니다.

답변

2

바이트 [] 필드를 @Basic (fetch = FetchType.LAZY)으로 표시 할 수 있습니다. getter가 호출 될 때만로드됩니다.

http://download.oracle.com/javaee/5/api/javax/persistence/Basic.html#fetch()

+0

큰, 당신은 [하이버 네이트 문서 (에 따르면 – medium

+0

을 @partenon 감사 http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html/entity.html# entity-mapping-property), 컴파일 타임 바이트 코드 도구가 필요합니다. – axtavt