<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: Package Grails DBMigrations in your WAR File</title>
	<atom:link href="http://www.zorched.net/2008/06/10/package-grails-dbmigrations-in-your-war-file/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zorched.net/2008/06/10/package-grails-dbmigrations-in-your-war-file/</link>
	<description>Musings of a software developer in Milwaukee, WI.</description>
	<pubDate>Tue, 06 Jan 2009 05:06:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Geoff Lane</title>
		<link>http://www.zorched.net/2008/06/10/package-grails-dbmigrations-in-your-war-file/comment-page-1/#comment-12723</link>
		<dc:creator>Geoff Lane</dc:creator>
		<pubDate>Wed, 11 Jun 2008 21:00:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/?p=112#comment-12723</guid>
		<description>Shawn,
Hibernate events can definitely work well. And the post you link to is a great example! I've used that technique in the past (in pure Java/Hibernate) for keeping historical records as well.

Where stored procedures and other database objects shine when you want to get out of your Groovy/Java code though. If everything is running through that code then no problem. But get into reporting using an external tool and all of a sudden accessing those domain classes and Hibernate events becomes non-trivial.

I also believe that databases are fundamentally better at some tasks and we should leverage them when we can.

Thanks for the comment.</description>
		<content:encoded><![CDATA[<p>Shawn,<br />
Hibernate events can definitely work well. And the post you link to is a great example! I&#8217;ve used that technique in the past (in pure Java/Hibernate) for keeping historical records as well.</p>
<p>Where stored procedures and other database objects shine when you want to get out of your Groovy/Java code though. If everything is running through that code then no problem. But get into reporting using an external tool and all of a sudden accessing those domain classes and Hibernate events becomes non-trivial.</p>
<p>I also believe that databases are fundamentally better at some tasks and we should leverage them when we can.</p>
<p>Thanks for the comment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shawn Hartsock</title>
		<link>http://www.zorched.net/2008/06/10/package-grails-dbmigrations-in-your-war-file/comment-page-1/#comment-12721</link>
		<dc:creator>Shawn Hartsock</dc:creator>
		<pubDate>Wed, 11 Jun 2008 20:48:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/?p=112#comment-12721</guid>
		<description>Actually, I started researching Hibernate Events because I saw that stored procedures were not well represented in some circumstances. I am currently of the mind that if you can "package" your "triggers" inside the domain object that's probably a good thing for the most part. It does mean that you have more complicated domain classes, but, you keep all your work in Groovy/Java which is portable and centralized instead of spreading the trigger into the Database. In short you work your data model from inside the Grails domain classes and try to put all data model related things there.

There are drawbacks to that approach but if your shop is mostly Java/Groovy coders and resource constrained on DBA and PL/SQL development then you could actually save a context switch for your development team.</description>
		<content:encoded><![CDATA[<p>Actually, I started researching Hibernate Events because I saw that stored procedures were not well represented in some circumstances. I am currently of the mind that if you can &#8220;package&#8221; your &#8220;triggers&#8221; inside the domain object that&#8217;s probably a good thing for the most part. It does mean that you have more complicated domain classes, but, you keep all your work in Groovy/Java which is portable and centralized instead of spreading the trigger into the Database. In short you work your data model from inside the Grails domain classes and try to put all data model related things there.</p>
<p>There are drawbacks to that approach but if your shop is mostly Java/Groovy coders and resource constrained on DBA and PL/SQL development then you could actually save a context switch for your development team.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
