Lift allows you to create model objects that map themselves to and from the database. Here's an example of a "User" model object.
For this little bit of work, we get a complete user with first name, last name, password, email, and a personal essay. Each of the fields knows how to validate itself. The User (and any other "Mapped" class) knows how to Create, Update, Read, and Delete itself from the database. It knows how to convert itself to a string, to XML, and even generate HTML forms for itself.