Auxiliary database objects in Hibernate by R4R Team

Auxiliary database objects: Auxiliary database objects provide the facilities for the CREATE and DROP of arbitrary database objects. In conjunction with Hibernate's schema evolution tools, they have the ability to fully define a user schema within the Hibernate mapping files. Although designed specifically for creating and dropping things like triggers or stored procedures, any SQL command that can be run via a java.sql.Statement.execute() method is valid (for example, ALTERs, INSERTS, etc.). 


There are essentially two modes for defining auxiliary database objects:


1. explicitly list the CREATE and DROP commands in the mapping file:


<hibernate-mapping> ... <database-object> 

<create>CREATE TRIGGER my_trigger ...</create> 

<drop>DROP TRIGGER my_trigger</drop> 

</database-object> 

</hibernate-mapping>


2. supply a custom class that constructs the CREATE and DROP commands. This custom class must implement the org.hibernate.mapping.AuxiliaryDatabaseObject interface.


<hibernate-mapping> ... <database-object> 

<definition class="MyTriggerDefinition"/> 

</database-object> </hibernate-mapping>


Additionally, these database objects can be optionally scoped so that they only apply when certain dialects are used.


<hibernate-mapping> ... <database-object> 

<definition class="MyTriggerDefinition"/> 

<dialect-scope name="org.hibernate.dialect.Oracle9iDialect"/> 

<dialect-scope name="org.hibernate.dialect.Oracle10gDialect"/> 

</database-object> </hibernate-mapping>

Leave a Comment:
Search
Categories
R4R Team
R4Rin Top Tutorials are Core Java,Hibernate ,Spring,Sturts.The content on R4R.in website is done by expert team not only with the help of books but along with the strong professional knowledge in all context like coding,designing, marketing,etc!