@Override
  @Transactional(readOnly = false)
  public void joinCourse(Customer customer, Course course) {
    course = courseDao.getBySid(course.getSid());
    CustomerSubscription subscription = new CustomerSubscription();
    subscription.setCourse(course);
    subscription.setCustomer(customer);

    customerSubscriptionDao.save(subscription);
  }
 @Override
 @Transactional(readOnly = true)
 public List<Customer> findByCourse(Course course) {
   return customerSubscriptionDao.findCustomersByCourse(course);
 }
 @Override
 @Transactional(readOnly = true)
 public List<Course> findCourses(Customer customer) {
   return customerSubscriptionDao.findCoursesByCustomer(customer);
 }