1. A computer-implemented method for manipulating data in a database comprising: responsive to a first command from a user to manipulate a first data object in the database: allocating buffer storage to the first data object in a middle layer; establishing a first connection to the database; performing the first command upon the first data object in the buffer storage while maintaining the first connection; performing a first step of storing any data changes caused by the first command in the buffer storage, wherein the first command is a call from the user to select one of a plurality of generic database manipulators in the middle layer which is in a server coupled to the database; and releasing the first connection after the first step of storing any data changes; responsive to a second command from the user to manipulate a second data object in the database: allocating buffer storage to the second data object in the middle layer; establishing a second connection to the database; performing the second command upon the second data object in the buffer storage while maintaining the second connection; performing a second step of storing any data changes caused by the second command in the buffer storage; releasing the second connection after the second step of storing any data changes; and in a single transaction performed after the first connection and the second connection have been released, one of committing all data changes caused by the first command and the second command to the database and rolling back all data changes caused by the first command and the second command.