2011-10-10 3 views
0
이 하나 Here 당 충분히 쉬운 것 같다하지만 난 내 응용 프로그램 컨텍스트에 다음과 같은 추가 물론

...PostgreSQL의 오류

'대형 오브젝트는 자동 위탁 모드에서 사용할 수 없습니다'
<property name="dataSource"> 
    <ref bean="dataSource"/> 
</property> 

<property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop> 
      <prop key="hibernate.show_sql">true</prop> 
      <prop key="hibernate.autocommit">false</prop> 
     </props> 
    </property> 
    <property name="annotatedClasses"> 
     <list> 
      <value>com.gleason.gt.server.model.database.PlayListEntry</value> 
      <value>com.gleason.gt.server.model.database.MusicFile</value> 
     </list> 
    </property> 
</bean> 

나는 여전히 같은 오류가 발생합니다.

UPDATE 추가 서비스/DAO

@Repository("musicFileDao") 
public class MusicFileDAOImpl extends GroovyTimeHibernateDAOSupport{ 
@Transactional() 
public MusicFile getMusicFile(Integer i){ 
    @SuppressWarnings("unchecked") 
    List<MusicFile> returnValue = (List<MusicFile>)getHibernateTemplate().find("from MusicFile where id=?",i); 
    if(returnValue.size()>0){ 
     return returnValue.get(0); 
    } 
    return null; 
} 
} 
@Service("musicFileService") 
public class MusicFileService { 
@Autowired 
private MusicFileDAOImpl dao; 

@Transactional 
public MusicFile getMusicFile(Integer i){ 
    return dao.getMusicFile(i); 
} 
} 

@Lob 
@Column(name="file") 
private byte[] file; 
+0

다른 quesion에서와 같은 저의 의견 : 저는 여러분이 대신 LargeObjects하지만'bytea'를 원하지 않는다고 확신합니다. –

+0

[대형 개체] (http://www.postgresql.org/docs/9.1/interactive/largeobjects.html)의 설명서를 참조하십시오. 그들은 다른 것과 아주 다릅니다. –

+0

나는 바이트 배열에 대해 LargeObject를 사용할 수 있다고 생각하는 의견을 주셔서 감사합니다. 나는 내 머리 위로 조금씩 링크를 보려고 노력했다. 다른 뉴스에서 나는 그것을 격리하려고 노력했다. OneToOne 매핑을 가져 와서 곧바로 액세스했습니다. 나는 여전히 오류를 낳고, 나는 그것을 거래 등으로 만들려고 노력했다. 그래서 나는 링크를 통해 갈아 치워야 하는가? – Jackie

답변

2

기본적인 것은 큰 목적은 bytea와는 사뭇 다른 그 자신의 일 것입니다. 바이트 배열을 찾으려면 대신 bytea를 사용하십시오.

큰 개체는 다른 인터페이스를 사용하여 저장 한 다음 개체 ID를 사용하여 참조하는 독립 데이터베이스 엔터티입니다. 이를 위해서는 두 개의 SQL 문이 필요하므로 자동 커밋 모드에서는 안전하지 않습니다. 당신이 BYTEA을 할 수있는 것보다

  1. 당신은 대형 개체에 많이 두 번 저장할 수 있으며,

  2. 대형 개체 수 있도록 스트리밍 인터페이스와 함께 제공 : 대형 오브젝트는 두 가지 이유로 매우 큰 분야에 바람직하다 오프셋 등으로 찾기. 그들은 데이터베이스 속성과 같은 것보다 훨씬 더 많은 파일을 조작합니다.

대형 개체는 실제로 적절한 장소에서 유용하지만 다소 이상합니다. 기회는 당신이 원하는거야.