return the first matched instance of there are many results
extract query generation code from Home<T> class to AbstractComponent<T>; use a String constant to replace object alias in query string
performance improvement: restrictions will be set only one