[[TOC(heading=Generic Database Messages Section Contents, HowTos/HowToUseGenericDatabaseMessages*)]] = Generic Database Messages = One of the most compelling features of Model-Glue is its automated database capabilities. By using an ORM framework (Reactor, Transfer, etc.), Model-Glue automates the creation and execution of common database tasks, such as single table CRUD (create, read, update, delete) and basic listing (SELECT). [wiki:HowTos/ORMIntegration/InstallingAnORM Installing an ORM in ModelGlue] [http://livedocs.reactorframework.com/Reactor_Documentation.htm#hasMany.htm Reactor's documentation]. [http://docs.transfer-orm.com/ Transfer's documentation] The framework accomplishes this by automatically loading a controller (the "!DataController") that listens for what are known as the "Generic Database Messages" (GDMs) These are a set of commands you can use inside your !ModelGlue.xml file to invoke automatic database functions. The GDMs also provide all data access functionality for event handlers created through the tag. The four GDMs that the !DataController is configured to listen for are as follows: 1. [wiki:HowTos/HowToUseGenericDatabaseMessages/UsingmodelglueGenericList modelglue.GenericList] When this message is broadcast, the !DataController will attempt to list records from a given table.[[BR]][[BR]] 1. [wiki:HowTos/HowToUseGenericDatabaseMessages/UsingmodelglueGenericRead modelglue.GenericRead] When this message is broadcast, the !DataController will attempt to read a specific record from a given table.[[BR]][[BR]] 1. [wiki:HowTos/HowToUseGenericDatabaseMessages/UsingmodelglueGenericCommit modelglue.GenericCommit] When this message is broadcast, the !DataController will attempt to save a record to a given table.[[BR]][[BR]] 1. [wiki:HowTos/HowToUseGenericDatabaseMessages/UsingmodelglueGenericDelete modelglue.GenericDelete] When this message is broadcast, the !DataController will attempt to delete a record from a given table.[[BR]][[BR]]