Right, this is actually what we are doing.

We have the queries defined in the entity via @NamedQuery (since we just JPA). Our generic DAO just allows me to specify the name of the query, set the parameters and get the results back.

Auto-binding is actually what I was looking for, I just have entities defined in various modules and wanted to see if I could centralize auto-binding the DAOs in one place.

Cheers,

Miguel

On 31.08.2012 02:10, Markus Grell wrote:
Greetings!

I'm no expert at all for this topic but I can't see your problem with
generic DAOs. I wrote a couple of typical database apps and they all use
generic DAOs. Stuff that is unique to an entity is handled by named
queries defined in the entities.

Works great and saves a lot of code to write.

Markus

Why do you ever need such a generic DAOs at all?


For example, here's how my DAOs look like:
http://imgbin.org/images/9339.png


There's not so much common between them and I'm sure you will have
similar structure.

You may also have some class hierarchy for you DAOs (say all your DAOs will inherit CRUD methods from GenericDAO), but this doesn't relate to
Tapestry
at all.

To let Tapestry create *instances* of your DAOs for you (with dependency
injection and all cool stuff) you should declare your DAOs in your
AppModule like this:


public static void bind(ServiceBinder binder) throws
ClassNotFoundException
{
binder.bind(UserDAO.class, UserDAOImpl.class); // etc.
}


Or you can try to auto-bind them like described here:



http://killertilapia.blogspot.com/2012/08/autobind-all-tapestry5-services
.html


On Fri, Aug 31, 2012 at 2:15 AM, Miguel O. Carvajal <
tapes...@carvajalonline.com> wrote:

Hey all,


I am taking a look again at how we have implemented a generic DAO in our Tapestry application, since our currently implementation is a bit
hackish.

I was looking at the great article over at
http://tawus.wordpress.com/**

2011/05/28/tapestry-magic-13-**generic-data-access-objects/<http://tawus

.wordpress.com/2011/05/28/tapestry-magic-13-generic-data-access-objects
/>


And while I do see it as an option, it seems a bit verbose for doing
something that maybe I can do with less code in Tapestry.

I saw in the issue 2550 (https://issues.apache.org/**

jira/browse/TAPESTRY-2550<https://issues.apache.org/jira/browse/TAPESTRY
-2550>)
that ServiceBuilder was created exactly for this purpose, but since I have no way of determining the generic type (or other way of determining what Hibernate/JPA entity I am working with) within the ServiceBuilder
implementation. I just don't see how this can be done with
ServiceBuilder.


Is there something obvious I am missing or is the article I mentioned
above the only way it can be done?

Thanks,


Miguel



------------------------------**------------------------------**-------
--
To unsubscribe, e-mail:

users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apac
he.org> For additional commands, e-mail: users-h...@tapestry.apache.org





--
Dmitry Gusev


AnjLab Team
http://anjlab.com





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to