There's nothing special about performing a database operation (or any other server-side operation) in a callable service vs. a regular service.
If you're having trouble with a callable service implementation, you can usually figure out whether the problem is in the model in the callable service, or in the interface (call to or returning results from the callable service), by creating a trace file for each callable service call. See enabling Trace All (@ the bottom of http://www.tersus.com/#Id=46). Alternatively, you can reuse the logic in the callable service from a button, and trace it as usual.
If you can't figure this one out, please provide a sample of what you're doing (project or screenshots).
For best results, use the Firefox browser..