Re: DAOs and Connection sharing
From: John Fereira (jaf30_at_cornell.edu)
Date: 07/31/04
- Next message: John Fereira: "Re: Blob using MySQL"
- Previous message: Jim Sculley: "Re: A good IDE??"
- In reply to: janne: "DAOs and Connection sharing"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sat, 31 Jul 2004 13:05:58 GMT
janne_1976@hotmail.com (janne) wrote in news:6539de6f.0407300006.36ef1558
@posting.google.com:
> I have been using a DAO -based design to implement my applications
> with the following principles:
>
> - business / persistence logic is handled by 3 layers; Actions,
> business logic classes and DAOs
> - logic in a use case is handled by an Action (Struts is not used; but
> for the sake of discussion you might as well assume it is)
> - Action gets a Connection from a DataSource; and passes it to each
> business logic class it uses
> - When persistence is needed, business logic class calls a DAO and
> passes it the Connection. All database activities therefore share the
> same connection and transaction.
> - After Action is finishing, Action either commits (if no exceptions
> were thrown) or rolls back (in case of exceptions) the connection, and
> closes it.
>
> This works fine, but there's coupling between
> actions-business-persistence with the passed Connections. I have seen
> suggestions that an alternative approach could be used:
>
> - Connection objects are not passed as method arguments. Instead each
> DAO fetches Connections from DataSource directly
> - I would still use Action to commit / rollback the whole transaction
>
> The basis for this, according to some, is that when different objects
> in same thread request connections from a datasource, they in fact get
> the same shared connection. Which is a requirement for this to work,
> of course.
>
> Does this work, and if it does, can you point to a specification that
> describes DataSource's correct behaviour? I have not been able to find
> any.
>
> Hibernate and other alternatives are all very nice, but I want to
> concentrate on this kind of approach now...
Have you looked at the Spring Framework? www.springframework.org
I've written an application similar to what you're suggesting and the Spring
Framework manages the Datastore and DAOs nicely.
- Next message: John Fereira: "Re: Blob using MySQL"
- Previous message: Jim Sculley: "Re: A good IDE??"
- In reply to: janne: "DAOs and Connection sharing"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|