The point is 'what is the nature of Customer ?'.
Customer is a Domain object (or at least sounds like). In a distributed environment, Customer will be serialized and used in another JVM (or in case of WS only Customer data will be used in a .net program).
That's why it's usually not a good idea to add behavior on the domain object, and to let it in a business class (service).
Code would look like:
Code:
CustomerService custService = ... // usually retrieved through Spring or JNDI
Customer cust = custService.find("John Smith");
custService.cancelOutstandingOrders(cust);
In this case CustomerService uses
* CustomerDao in method find(...),
* and OrderDao to process cancelOutstandingOrders(...)