Actually, that's not totally true.  HiveUtils doesn't have the same
functionality.  The Spring Framework is pretty huge and offers things
like:

1) Great Hibernate integration.  Using Hibernate without Spring is doing
things the hard way.  Spring builds on Hibernate's great foundation.

2) Declarative Transaction Management.  Hivemind does not have any
support for declarative transactions.  This builds on the support for
Hibernate and simply eliminates rafts of Java code required to manage
transactions.

3) Great raw JDBC DAO support.  For those times when you go straight at
the database.  Spring's handling of JDBC is phenomenal.  Makes you
wonder why JDBC doesn't do the things Spring does.  Spring simplifies
JDBC querying and ResultSet iteration immensely.

4) Quartz Job Scheduling.  Spring has full support for scheduling jobs
using Quartz.  Very handy.

5) Email bean support.  Work with email in a very simple way.

6) Remote invocation support.  Use your beans directly with RMI, SOAP,
HTTP, Burlap, and Hessian, with no additional code.  Remoting has never
been this easy.

And that's just the tip of the iceberg.  Hivemind is a great product and
very good at what it does.  In fact, it's probably better at dependency
injection than Spring is, but it's not intended to do everything Spring
does.

-----Original Message-----
From: Vinicius Carvalho [mailto:[EMAIL PROTECTED] 
Sent: Friday, July 29, 2005 8:25 AM
To: Tapestry users
Subject: Re: Tapestry and Hibernate

Well HiveUtils have the same functionallity as Spring. I understand
you are in a deadline, but since Tapestry 4.0 has full Hivemind
support, adding Hivemind + HiveUtils to your project would make things
easier for you in the future.

On 7/29/05, Will Scheidegger <[EMAIL PROTECTED]> wrote:
> I just recently started my first Hibernate/Tapestry project and - to
> make the learning curve even  a bit steeper - added Springframework to
> it, which was new to me too. I'm sure I'm only scratching the surface
> of Springframework for now, but it works well for the problem you've
> described. I had to invest maybe 1 additional day to integrate it.
> 
> Cheers,
> Will
> 
> On 28.07.2005, at 21:52, Chris Chiappone wrote:
> 
> > I have been developing an application using tapestry 3.0.3 and
> > hibernate 3.0.2.  Took a while to get everything working correctly,
> > and learning both of the frameworks.  I have a decent amount of the
> > application written and now am running into
> > LazyInitializationException in certain places.  Its strange because
I
> > can't expain why I get the exception and other times I don't.
> >
> > I've read that using the Spring Framework would fix this problem,
but
> > wonder if its worth learning another framework and trying to
integrate
> > it into my application.  I'm on a deadline and this may just take to
> > long.  I've also extended BaseEngine to do this trying to relieve my
> > problem:
> >
> >
> >         protected void cleanupAfterRequest(IRequestCycle cycle) {
> >                 try {
> >
> >                         HibernateUtil.commitTransaction();
> >
> >                         if (killSession) {
> >                                 try {
> >                                         HttpSession session =
> > cycle.getRequestContext()
> >
.getSession();
> >
> >                                         if (session != null) {
> >                                                 log.info("Logging
out
> > user.");
> >
session.invalidate();
> >                                         }
> >                                 } catch (IllegalStateException ex) {
> >                                         // Ignore.
> >                                 }
> >
> >                         }
> >                 } catch (NestedRuntimeException nre) {
> >
> >                 } finally {
> >                         HibernateUtil.closeSession();
> >                 }
> >         }
> > Yet I still run into this exception:
> >
> > Unable to resolve expression 'currentCompany.name' for
> > [EMAIL PROTECTED]
> > binding: ExpressionBinding[EditProfile currentCompany.name]
> > location: context:/WEB-INF/EditProfile.page, line 41, column 65
> >
> > ognl.OgnlException
> > name
> >
> > org.hibernate.LazyInitializationException
> > could not initialize proxy - the owning Session was closed
> > messages: [Ljava.lang.String;@cdf872
> > throwableCount: 1
> > throwables: [Ljava.lang.Throwable;@7227a8
> > Stack Trace:
> >
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInit
> > ializer.java:53)
> >
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractL
> > azyInitializer.java:84)
> >
org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer
> > .java:134)
> >
domain.company.Company$$EnhancerByCGLIB$$f029e618.getName(<generated>)
> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja
> > va:39)
> >
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
> > rImpl.java:25)
> > java.lang.reflect.Method.invoke(Method.java:585)
> >
> >
> > Is there anything else I should try.  Or is the spring framework the
> > way to go.  If so is it easy to integrate into an existing
> > applicatoin?  Thanks.
> > --
> > ~chris
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail:
[EMAIL PROTECTED]
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to