@SuppressWarnings("unchecked")
	public <T> T createDao(Class<T> clazz) throws Exception {
		T instance = (T) proxyCache.get(clazz);
		if (instance == null) {
			DataAccessInterceptor interceptor = newDataAccessInterceptor();
			detectDataAccessMethod(clazz, interceptor);
			instance = (T) Enhancer.create(clazz, interceptor);
			proxyCache.put(clazz, instance);
		}
		return instance;
	}