2013-07-16 1 views
2

최대 절전 모드 4.0을 사용하여 jpeg를 postgres 9.1.4에 저장합니다 (jdbc는 postgresql-9.1-901.jdbc4.jar). bytea 열 (byte []은 추가 유형 def가없는 최대 절전 모드 엔티티) .Hibernate postgres bytea 검색 문제

데이터베이스 도구를 사용하여 바이트 열을 덤프하고 여전히 jpeg를 얻을 수 있기 때문에 최대 절전 모드 저장 프로세스가 제대로 작동합니다. 그것은 기본적으로이 시점에서 ManagedBean은

byte [] bytes; 
bytes = IOUtils.toByteArray(file.getInputstream()); 
entity.setImage(bytes); 

에서

, 바이트는 다음과 같다 [-1, -40, -1, -32, 0, 16, 74, 70, ... ]

그러나 문제는 최대 절전 모드를 통해 검색하는 것으로 시작됩니다. 데이터가 수정되거나 손상된 것으로 보입니다. 이때

byte [] bytes; 
bytes = entity.getImage(); 

상기 바이트가 [-26, 100, 56, 102, 102, 101, 48, 48, ...]

는 동면 게터

@Column(name = "image") 
public byte[] getImage() { 
    return image; 
} 

아무도 도와 줄 수 있다면 감사하게 생각합니다. 감사합니다! postgresql.conf의에서 = '탈출'bytea_output

+0

http://stackoverflow.com/questions/10671471/how-to-store-image-into-postgres-database-using-hibernate 및 특히 http://stackoverflow.com/questions/3677380/을 살펴보십시오. 적절한 절전 모드 - 바이트 단위의 – DrColossos

+0

고마워요. 전에 그 사람들을 보았고 그들은 도움을받지 못했습니다. – snlm95

답변

3

변화

또는 TO '탈출'bytea_output이

ALTER의 dbname 데이터베이스의 설정을 실행;

+0

잘 작동합니다. 도와 줘서 고맙다. – snlm95