Java Reference
In-Depth Information
6.4.2
Implementing HibernateRestaurantRepositoryImpl
HibernateRestaurantRepositoryImpl is the Hibernate implementation of the
RestaurantRepository interface. It retrieves restaurants by using a Spring Hiber-
nateTemplate to execute an HQL query. Listing 6.5 shows part of the source code
of this class.
Listing 6.5
HibernateRestaurantRepositoryImpl
public class HibernateRestaurantRepositoryImpl extends
HibernateDaoSupport implements RestaurantRepository {
public HibernateRestaurantRepositoryImpl(
HibernateTemplate template) {
setHibernateTemplate(template);
}
B Creates a
HibernateRestaurant
RepositoryImpl
public List findAvailableRestaurants(Address deliveryAddress,
Date deliveryTime) {
String[] paramNames = {"zipCode",
"dayOfWeek",
bbbbbbbbbbbbbbbbbbbbb bb "hour",
bbbbbbbbbbbbbb bb "minute" };
Object[] paramValues =
makeParameterValues(deliveryAddress,
deliveryTime);
C
Creates array
of parameter values
return getHibernateTemplate()
.findByNamedQueryAndNamedParam(
"findAvailableRestaurants",
paramNames,
paramValues);
}
D Executes
named query
Object[] makeParameterValues(Address deliveryAddress,
Date deliveryTime) {
Calendar c = Calendar.getInstance();
c.setTime(deliveryTime);
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
String zipCode = deliveryAddress.getZip();
Object[] values = new Object[] { zipCode,
new Integer(dayOfWeek), new Integer(hour),
new Integer(minute) };
return values;
}
}
 
 
Search WWH ::




Custom Search