1. only add the mapping files you need!

-> 즉 필요한 매핍 파일만 사용하라..

뭐 언뜻 볼때는 불필요한 파싱으로 인한 시간을 줄이는 작용을 할듯 한데, 실제 커뮤티니의 글에서는 junit로 테스트를 해봤나 봅니다. xxx.hbm.xml파일에 가끔 불필요한 사항이 들어가 있지 않은지 체크해 봐야 겠습니다.

2. Use serialized XML documents when configuring Configuration

-> 설정시 Serilized한 XML문서를 사용하라.

예제는 다음과 같은데 확실히 이해가 되지는 않는군요...

public Configuration addLazyFile(String xmlFilethrows MappingException {        
        try {
            File file = new File(xmlFile);
            File lazyfile = new File(xmlFile + ".bin");
            org.dom4j.Document doc = null
            List errors = new ArrayList();
            if(file.exists() && lazyfile.exists() && file.lastModified()<lazyfile.lastModified()) {
                log.info("Mapping lazy file: " + lazyfile.getPath());
                ObjectInputStream oip = null;
                oip = new ObjectInputStream(new FileInputStream(lazyfile));
                doc = (org.dom4j.Documentoip.readObject();
                oip.close()
            else {
                doc = xmlHelper.createSAXReader(xmlFile, errors, entityResolver).readfile );
                log.info("Writing lazy file to " + lazyfile);
                ObjectOutputStream oup = new ObjectOutputStream(new FileOutputStream(lazyfile));
                oup.writeObject(doc);
                oup.flush();
                oup.close();
            }
            
            if errors.size()!=throw new MappingException"invalid mapping"(Throwableerrors.get(0) );
            add(doc);
            return this;
        }
        catch (Exception e) {
            log.error("Could not configure datastore from file: " + xmlFile, e);
            throw new MappingException(e);
        }
    }

3. Disable Hibernates usage of cglib reflection optimizer

-> cgilib reflection optimizer의 사용을 하지말라.

getter/setter에 접근하기 위한 cglib-enhanced객체를 빌드하지 않기 때문이라고 합니다.

설정은 hibernate.properties파일에 다음과 같이 넣으면 됩니다.

hibernate.cglib.use_reflection_optimizer=false

spring과 연동해서 사용하는 분은 hibernate.properties를 사용하지 않으니

applicationContext-hibernate.xml같은 연동관련 파일에

<property name="hibernateProperties">
    <props>
        <prop key="hibernate.cglib.use_reflection_optimizer">false</prop>
    </props>
</property>  

처럼 넣어주면 됩니다.

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-1) was last changed on 06-Apr-2006 09:45 by UnknownAuthor