-1
DB에 저장하려는 이미지 파일이 Inputstream/byte[]
인데 이미 BLOB 필드를 업데이트하려는 엔티티 만 저장 했으므로 이드의 행 ID가 있습니다. 나는 다음과 같은 시도했지만 나를 위해 작동하지 않습니다 :간단한 최대 절전 쿼리를 사용하여 BLOB 필드를 업데이트하는 방법
Query query = session.createSQLQuery("update tableName set blobFieldName=:blbContent where id=5);
query.setBinary("blbContent",myByteArray)
int val = query.executeUpdate();
N이 발 1을 반환하지만, 실제로 DB에는 그 갱신이 일어나지 않았다 ... 내가 틀렸다 어디 이해할 수있다. 도와주세요. 이 작업이 필요합니다 ...
2 가지 : a) 인코딩하지 않고 DML 문에서 바이트 데이터를 스트리밍 할 수 없습니다. b) 명세서에 "blobFieldName"이 있습니다. - blob이 저장된 곳입니까? 객체를 지속시키기 위해서는 최대 절전 모드 세션을 사용해야합니다. – Dan
많은 데이터베이스가 이러한 방식으로 LOB 데이터를 직접 조작 할 수 없습니다. 즉, 데이터베이스가 SQLException을 던지면 안된다. 성명이 "성공"하면 다른 문제가 있다고 생각해야합니다. 거래를 저 지르셨습니까? –
예 ... 거래를 저지르는 것을 잊었습니다. 지금 일하고 있습니다. –