hibernatemappingchecker.java

来自「一个hibernate的自动测试框架源码」· Java 代码 · 共 47 行

JAVA
47
字号
package net.chrisrichardson.ormunit.hibernate;

import java.util.Collections;
import java.util.Iterator;
import java.util.Set;

import org.hibernate.cfg.Configuration;
import org.hibernate.mapping.PersistentClass;

public class HibernateMappingChecker {

	private final Configuration configuration;

	private AccessStrategy accessStrategy = AccessStrategy.PROPERTY;

	public HibernateMappingChecker(Configuration configuration) {
		this.configuration = configuration;
	}

	public void setAccessStrategy(AccessStrategy accessStrategy) {
		this.accessStrategy = accessStrategy;
	}

	public MappedClassChecker getClassChecker(Class type) {
		return new MappedClassChecker(type, configuration, accessStrategy);
	}

	/**
	 * Verify that all classes and their fields are mapped
	 */

	public void assertAllClassesMapped() {
		assertAllClassesMapped(Collections.EMPTY_SET);
	}

	public void assertAllClassesMapped(Set<String> propertyNames) {
		for (Iterator it = configuration.getClassMappings(); it.hasNext();) {
			PersistentClass persistentClass = (PersistentClass) it.next();
			Class mappedClass = (persistentClass).getMappedClass();
			MappedClassChecker classChecker = getClassChecker(mappedClass);
			classChecker.assertAllPropertiesMappedExcept(PathUtil.getPathsStartingWith(mappedClass.getName(), propertyNames));
		}
	}


}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?