... public static final Rating EXCELLENT = new Rating("Excellent"); public static final Rating OK = new Rating("OK"); public static final Rating LOW = new Rating("Low"); ... static final Map INSTANCES = new HashMap(); static { INSTANCES.put(EXCELLENT.toString(), EXCELLENT); INSTANCES.put(OK.toString(), OK); INSTANCES.put(LOW.toString(), LOW); } private Rating(String ... session.createQuery(queryString) .setString("searchString", searchString) .list(); Because searchString is a user-supplied string variable, we use the setString() method of the Query interface to bind...