<?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: Why Do Tapestry and Hibernate Fight So Much?</title>
	<atom:link href="http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/</link>
	<description>Musings of a software developer in Milwaukee, WI.</description>
	<pubDate>Tue, 06 Jan 2009 02:32:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Naveen</title>
		<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/comment-page-1/#comment-10955</link>
		<dc:creator>Naveen</dc:creator>
		<pubDate>Wed, 12 Sep 2007 06:53:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/#comment-10955</guid>
		<description>Can any one provide me a small sample application using Tapestry, Hibernate and MySql.  Thanks in advance.</description>
		<content:encoded><![CDATA[<p>Can any one provide me a small sample application using Tapestry, Hibernate and MySql.  Thanks in advance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ken in nashua</title>
		<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/comment-page-1/#comment-10847</link>
		<dc:creator>Ken in nashua</dc:creator>
		<pubDate>Fri, 06 Jul 2007 18:32:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/#comment-10847</guid>
		<description>Guys, 

Way to trade punches... loved this thread completely. Now I have made my remarks in remote posts on the web about tapestry. And it is really fine to see some nice hits take plase here. ASDF... most likely HLS. Am I a tapestry developer... yes... but everything in these posts are valid to the max.

Would love to see more.

It's been about a year... can you guys start a few jabs for an update?</description>
		<content:encoded><![CDATA[<p>Guys, </p>
<p>Way to trade punches&#8230; loved this thread completely. Now I have made my remarks in remote posts on the web about tapestry. And it is really fine to see some nice hits take plase here. ASDF&#8230; most likely HLS. Am I a tapestry developer&#8230; yes&#8230; but everything in these posts are valid to the max.</p>
<p>Would love to see more.</p>
<p>It&#8217;s been about a year&#8230; can you guys start a few jabs for an update?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Geoff Lane</title>
		<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/comment-page-1/#comment-262</link>
		<dc:creator>Geoff Lane</dc:creator>
		<pubDate>Sun, 10 Sep 2006 01:56:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/#comment-262</guid>
		<description>asdf,
I'm glad you have had success with Hibernate and Tapestry. Unfortunately, you don't have the confidence in your success to post with an actual name or email, so I won't assume that you know what you're talking about.

Tapernate is a project that exists to tie together Tapestry and Hibernate and to overcome the impedence mismatch between these projects. Unfortunately, it does not solve all of the issues very gracefully. Without this crutch, you can not do lazy loading with Hibernate objects and Tapestry. You can of course do a disconnected object model, but that seems like a lot of work for little or no gain to me.

So, thanks for reading the blog. I hope you can contribute a useful comment at some point.</description>
		<content:encoded><![CDATA[<p>asdf,<br />
I&#8217;m glad you have had success with Hibernate and Tapestry. Unfortunately, you don&#8217;t have the confidence in your success to post with an actual name or email, so I won&#8217;t assume that you know what you&#8217;re talking about.</p>
<p>Tapernate is a project that exists to tie together Tapestry and Hibernate and to overcome the impedence mismatch between these projects. Unfortunately, it does not solve all of the issues very gracefully. Without this crutch, you can not do lazy loading with Hibernate objects and Tapestry. You can of course do a disconnected object model, but that seems like a lot of work for little or no gain to me.</p>
<p>So, thanks for reading the blog. I hope you can contribute a useful comment at some point.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: asdf</title>
		<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/comment-page-1/#comment-261</link>
		<dc:creator>asdf</dc:creator>
		<pubDate>Sun, 10 Sep 2006 00:40:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/#comment-261</guid>
		<description>I've been using Tapestry with Hibernate for a long time and never had any problems. It appears you just don't know what you're doing, try and get some help on Tapestry's mailing list.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been using Tapestry with Hibernate for a long time and never had any problems. It appears you just don&#8217;t know what you&#8217;re doing, try and get some help on Tapestry&#8217;s mailing list.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zorched / One Line Fix &#187; Blog Archive &#187; Tapestry and Hibernate Take 2</title>
		<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/comment-page-1/#comment-126</link>
		<dc:creator>Zorched / One Line Fix &#187; Blog Archive &#187; Tapestry and Hibernate Take 2</dc:creator>
		<pubDate>Sat, 15 Jul 2006 18:04:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/#comment-126</guid>
		<description>[...] In a previous post I lamented about Tapestry and Hibernate fighting each other. This was very soon after I had started using Tapestry for the first time, and I wanted to talk a little bit more about it now that I&#8217;ve been using it for a while. So now I can rant with much more detail. [...]</description>
		<content:encoded><![CDATA[<p>[...] In a previous post I lamented about Tapestry and Hibernate fighting each other. This was very soon after I had started using Tapestry for the first time, and I wanted to talk a little bit more about it now that I&#8217;ve been using it for a while. So now I can rant with much more detail. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Geoff Lane</title>
		<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/comment-page-1/#comment-125</link>
		<dc:creator>Geoff Lane</dc:creator>
		<pubDate>Fri, 14 Jul 2006 16:02:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/#comment-125</guid>
		<description>Jesse,

(actually I met you in Milwaukee at one of my clients when you came in to train them on &lt;a href="http://tacos.sourceforge.net/"&gt;Tacos&lt;/a&gt;) 

Yes, I've seen and used Tapernate - you showed it to me. :)

Tapernate is a 50% solution for Tapestry/Hibernate issues. You still have to create your own squeezers for drop-down lists, it doesn't handle collections of persistent objects, etc. I think I'll write a full blog post  about this at some point. Tapernate is a good "inspiration" project for the kinds of things you need to do to intergrate Tapestry and Hibernate, but if you're doing anything more than the most trivial app, it's not going to be a full solution.</description>
		<content:encoded><![CDATA[<p>Jesse,</p>
<p>(actually I met you in Milwaukee at one of my clients when you came in to train them on <a href="http://tacos.sourceforge.net/">Tacos</a>) </p>
<p>Yes, I&#8217;ve seen and used Tapernate - you showed it to me. :)</p>
<p>Tapernate is a 50% solution for Tapestry/Hibernate issues. You still have to create your own squeezers for drop-down lists, it doesn&#8217;t handle collections of persistent objects, etc. I think I&#8217;ll write a full blog post  about this at some point. Tapernate is a good &#8220;inspiration&#8221; project for the kinds of things you need to do to intergrate Tapestry and Hibernate, but if you&#8217;re doing anything more than the most trivial app, it&#8217;s not going to be a full solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tapped</title>
		<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/comment-page-1/#comment-121</link>
		<dc:creator>tapped</dc:creator>
		<pubDate>Mon, 10 Jul 2006 22:48:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/#comment-121</guid>
		<description>I've just  completed a tapestry project and I can say that tapestry is _not_ a viable technology :-(  I hoped it was.  I'd read all about tapestry, and everyone's accolades, but I can say with great certainty that the small project I just completed took _at least_ 6 times as long to do in tapestry than it would have in jsf/jsp -- there are simply too many artifacts involved with a tapestry application for it to be remotely close to "agile" development :-(  Hopefully HLS will get things right with annotations, but for now, the whole thing is best avoided if you wanna keep your job and your sanity.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve just  completed a tapestry project and I can say that tapestry is _not_ a viable technology :-(  I hoped it was.  I&#8217;d read all about tapestry, and everyone&#8217;s accolades, but I can say with great certainty that the small project I just completed took _at least_ 6 times as long to do in tapestry than it would have in jsf/jsp &#8212; there are simply too many artifacts involved with a tapestry application for it to be remotely close to &#8220;agile&#8221; development :-(  Hopefully HLS will get things right with annotations, but for now, the whole thing is best avoided if you wanna keep your job and your sanity.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jesse Kuhnert</title>
		<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/comment-page-1/#comment-116</link>
		<dc:creator>Jesse Kuhnert</dc:creator>
		<pubDate>Wed, 21 Jun 2006 22:21:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/#comment-116</guid>
		<description>Have you seen &lt;a href="http://www.carmanconsulting.com/tapernate" rel="nofollow"&gt;tapernate&lt;/a&gt;? It makes things like this pretty trivial to work with now.</description>
		<content:encoded><![CDATA[<p>Have you seen <a href="http://www.carmanconsulting.com/tapernate" rel="nofollow">tapernate</a>? It makes things like this pretty trivial to work with now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Geoff Lane</title>
		<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/comment-page-1/#comment-94</link>
		<dc:creator>Geoff Lane</dc:creator>
		<pubDate>Mon, 24 Apr 2006 12:57:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/#comment-94</guid>
		<description>Hi Frank,
Thanks for reading my Blog!

Hibernate only does persistence, but it does it pretty well. Starting by using Hibernate as your persistence framework is often pretty easy to do. Spring on the other hand is a huge framework, but the advantage of it is that you can start off using just some small pieces of it as you see a need. The easist place to start with Spring is probably using the Inversion of Control (IoC) framework to inject DAO or Service objects into your code. Spring also provides some easy ways to configure Hibernate for transaction boundaries and things like that, so leveraging that functionality is nice next step.

As for Tapestry, as I said, I'm not sold yet on it. It seems to me to be overly complex for a View technology. You need 3 files just to render a page: An XML description, an HTML layout and a Java code behind file. Providing Beans to a JSP page seems much simpler to me for the majority of projects that don't have professional graphic designers working on them. Even the JSF route offers transparent, bi-directional mapping of Bean properties to form values without having anything but the View page and the Bean.

The combination of Spring and Hibernate offer some really good plumbing to use in an application and to get you started quickly without having to write reams of code. They make the persistence layer trivial and allow you to transparently swap in Mock objects for testing purposes.

Inclusion's code didn't use an ORM persistence layer, all of it had to be hand written SQL. It also didn't map to Objects per-se but was more oriented to field/column level data. When you map to Object/row level data there is a huge opportunity for performance gains since there's a strong probability that if you use a value from a row, you will use others from the same row and so you can collect them in a single query. Hibernate also provides a caching mechanism that often means you don't have to explictly code caching which keeps the application logic much simpler.

As an aside, there is a &lt;a href="http://www.rubyonrails.com" rel="nofollow"&gt;Ruby on Rails&lt;/a&gt; inspired framework for java called &lt;a href="https://trails.dev.java.net/" rel="nofollow"&gt;Trails&lt;/a&gt; that is built on top of these 3 technologies. It's supposed to be a rapid prototyping framework that makes getting up and running with this stuff really easy. It seems that every new release changes things very dramtically, so none of the examples work, and it doesn't work out of the box on Mac OS X, but it might be an interesting project to keep an eye on.</description>
		<content:encoded><![CDATA[<p>Hi Frank,<br />
Thanks for reading my Blog!</p>
<p>Hibernate only does persistence, but it does it pretty well. Starting by using Hibernate as your persistence framework is often pretty easy to do. Spring on the other hand is a huge framework, but the advantage of it is that you can start off using just some small pieces of it as you see a need. The easist place to start with Spring is probably using the Inversion of Control (IoC) framework to inject DAO or Service objects into your code. Spring also provides some easy ways to configure Hibernate for transaction boundaries and things like that, so leveraging that functionality is nice next step.</p>
<p>As for Tapestry, as I said, I&#8217;m not sold yet on it. It seems to me to be overly complex for a View technology. You need 3 files just to render a page: An XML description, an HTML layout and a Java code behind file. Providing Beans to a JSP page seems much simpler to me for the majority of projects that don&#8217;t have professional graphic designers working on them. Even the JSF route offers transparent, bi-directional mapping of Bean properties to form values without having anything but the View page and the Bean.</p>
<p>The combination of Spring and Hibernate offer some really good plumbing to use in an application and to get you started quickly without having to write reams of code. They make the persistence layer trivial and allow you to transparently swap in Mock objects for testing purposes.</p>
<p>Inclusion&#8217;s code didn&#8217;t use an ORM persistence layer, all of it had to be hand written SQL. It also didn&#8217;t map to Objects per-se but was more oriented to field/column level data. When you map to Object/row level data there is a huge opportunity for performance gains since there&#8217;s a strong probability that if you use a value from a row, you will use others from the same row and so you can collect them in a single query. Hibernate also provides a caching mechanism that often means you don&#8217;t have to explictly code caching which keeps the application logic much simpler.</p>
<p>As an aside, there is a <a href="http://www.rubyonrails.com" rel="nofollow">Ruby on Rails</a> inspired framework for java called <a href="https://trails.dev.java.net/" rel="nofollow">Trails</a> that is built on top of these 3 technologies. It&#8217;s supposed to be a rapid prototyping framework that makes getting up and running with this stuff really easy. It seems that every new release changes things very dramtically, so none of the examples work, and it doesn&#8217;t work out of the box on Mac OS X, but it might be an interesting project to keep an eye on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frank Cohen</title>
		<link>http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/comment-page-1/#comment-93</link>
		<dc:creator>Frank Cohen</dc:creator>
		<pubDate>Mon, 24 Apr 2006 04:56:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/2006/04/22/why-do-tapestry-and-hibernate-fight-so-much/#comment-93</guid>
		<description>Good posting. I'm a newbie to Tapestry, Hibernate and Spring. What do you recommend for me to get started learning these and writing code with them?

Also, you helped develop Inclusion's Tapestry/Hibernate/Spring-like code back in the 1990's. How would you compare them?

-Frank</description>
		<content:encoded><![CDATA[<p>Good posting. I&#8217;m a newbie to Tapestry, Hibernate and Spring. What do you recommend for me to get started learning these and writing code with them?</p>
<p>Also, you helped develop Inclusion&#8217;s Tapestry/Hibernate/Spring-like code back in the 1990&#8217;s. How would you compare them?</p>
<p>-Frank</p>
]]></content:encoded>
	</item>
</channel>
</rss>
