需求:当我在hibernate.cfg.xml中的mapping节点写上package=包名 的时候,hibernate可以加载我这个包下所有的映射文件。
思路:下面是hibernate对mapping节点的解析,当节点的类型是package的时候,调用的是
addPackage( packageName );方法。所以只需要改写这个方法就可以实现需求。
package com.hibernate.core;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Enumeration;
import org.hibernate.MappingException;
import com.hibernate.execute.Executor;<pre name="code" class="java">private void parseMappingElement(Element mappingElement, String name) {
final Attribute resourceAttribute = mappingElement.attribute( "resource" );
final Attribute fileAttribute = mappingElement.attribute( "file" );
final Attribute jarAttribute = mappingElement.attribute( "jar" );
final Attribute