I cannot see the total problem - that would be more work than they pay me for - but I did notice 2 things:
1. You should almost always wrap a Collection (List or Array) that is being used as a table model object inside a JSFDataModel object and use that object as the dataTable's value.
2. The "get" method is going to be invoked multiple times (often 5 times or more), so doing a database fetch within the "get" or its sub-routines is not only very expensive in terms of performance, but may actually return inconsistent data in the event that other processes are updating the database at the time.
Customer surveys are for companies who didn't pay proper attention to begin with.