5
nhibernate와 매핑 된 모델을 사용하여 데이터베이스에 데이터를 대량으로 가져와야합니다. ID 용 guid.comb 생성기를 설정했습니다. 임시 guid.comb ID 생성기를 사용하지 않도록 설정 한 ID를 사용하여 데이터를 가져 오는 방법이 있습니까?대량 작업을위한 NHibernate 비활성화 ID 생성기
nhibernate와 매핑 된 모델을 사용하여 데이터베이스에 데이터를 대량으로 가져와야합니다. ID 용 guid.comb 생성기를 설정했습니다. 임시 guid.comb ID 생성기를 사용하지 않도록 설정 한 ID를 사용하여 데이터를 가져 오는 방법이 있습니까?대량 작업을위한 NHibernate 비활성화 ID 생성기
일시적으로 ID 생성기를 할당 됨으로 변경할 수 있습니다. 그런 다음 가져 오기가 끝나면 다시 COMB Guids로 전환하십시오. SaveOrUpdate() 대신 session.Save()를 명시 적으로 호출해야합니다. 그게 당신의 문제를 해결합니까?
일회성 작업이 아닌 대량 가져 오기를 수행하려는 경우 SessionFactory를 작성하기 전에 메모리의 Configuration 객체를 수정하여 ID를 할당 됨으로 변경할 수 있습니다. 이렇게하면 두 세트의 hbm.xml 파일을 유지할 필요가 없습니다. 이 블로그 게시물에서 일시적으로 조회 테이블을 업데이트 할 수있는 유사한 기술에 대해서도 설명했습니다. http://jameskovacs.com/2007/11/04/testing-immutable-entities-with-nhibernate/ –
안녕하세요, James 고맙습니다. 해결책 인 것 같다. 한 가지 질문 : 계단식 엔티티에 대해 "ID 생성기"비활성화가 가능합니까? 고마워. 추신. 내 질문의 진정한 대답으로 제안을 어떻게 설정할 수 있습니까? 덕분에 – Hoghweed
필립이 ID를 변경하는 좋은 생각이 될 수 있지만 어떻게 할 것인지 묻는 있었다, 그리고 일괄 작업을 할 표준 세션을 사용하는 제안하지 않지만 대신 대량 작업을 할 수있는 무국적 세션을 사용해야합니다 많은 이유들로 인해. 고마워 어쨌든 – Hoghweed