Personally, I don't like this idea. A DAO should do DAO stuff. A DTO should do DTO stuff.
The transformation of your entities into some other POJO shouldn't be inside your DAO. Right now, I use google guava to do DTO work on entities going back and forth over a REST API. Works well IMHO. John On Wed, Jul 10, 2013 at 9:21 AM, Romain Manni-Bucau <rmannibu...@gmail.com>wrote: > globally my answer meant "if forEntity is sometimes mandatory, sometimes > not this is maybe not the right place" > > i thought to add it to mapper config > > *Romain Manni-Bucau* > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* > *Blog: **http://rmannibucau.wordpress.com/*< > http://rmannibucau.wordpress.com/> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* > *Github: https://github.com/rmannibucau* > > > > 2013/7/10 Thomas Hug <thomas....@gmail.com> > > > Making forEntity non-optional would then be redundant for the regular > cases > > using the base interface, so I wouldn't. But I see that it should be > > clearly documented then as things might get confusing... > > > > > > On Wed, Jul 10, 2013 at 3:02 PM, Romain Manni-Bucau > > <rmannibu...@gmail.com>wrote: > > > > > do you mean you force forEntity = Person.class? > > > > > > looks ok for me since the only constraint is to add the dto types > > somewhere > > > :) > > > > > > *Romain Manni-Bucau* > > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* > > > *Blog: **http://rmannibucau.wordpress.com/*< > > > http://rmannibucau.wordpress.com/> > > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* > > > *Github: https://github.com/rmannibucau* > > > > > > > > > > > > 2013/7/10 Thomas Hug <thomas....@gmail.com> > > > > > > > Hmm and I assumed DTOs are dead and buried :-) > > > > > > > > Packing this in the base interface feels kind of clunky to me - also > > > > considering that there are repositories without the need to extend > the > > > base > > > > interface. What about something like > > > > > > > > @Repository(forEntity = Person.class) > > > > @ResultMapper(entityMapper = MapperX.class, keyMapper = > MapperY.class) > > > > public interface PersonRepository extends EntityRepository<PersonDto, > > > > DtoPk> { ... } > > > > > > > > Having the Entity on @Repository takes precedence and the type > > parameters > > > > are in this case just for convenience. > > > > > > > > > > > > > > > > On Wed, Jul 10, 2013 at 2:35 PM, Romain Manni-Bucau > > > > <rmannibu...@gmail.com>wrote: > > > > > > > > > +1 > > > > > > > > > > just to complete this thread the main issue is not the > implementation > > > but > > > > > the exposed API: > > > > > > > > > > public interface EntityRepository<E, PK extends Serializable> > > > > > > > > > > would become > > > > > > > > > > public interface EntityDtoRepository<E, PK extends Serializable, > Dto, > > > > > DtoPk> > > > > > > > > > > *Romain Manni-Bucau* > > > > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* > > > > > *Blog: **http://rmannibucau.wordpress.com/*< > > > > > http://rmannibucau.wordpress.com/> > > > > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* > > > > > *Github: https://github.com/rmannibucau* > > > > > > > > > > > > > > > > > > > > 2013/7/10 Jean-Louis MONTEIRO <jeano...@gmail.com> > > > > > > > > > > > Hello guys, > > > > > > > > > > > > Just used DS Data module yesturday, and I was wondering if we > could > > > > add a > > > > > > feature allowing on-the-fly conversion to DTO. > > > > > > For example, we could use modelmapper (or similar to convert DAO > > > return > > > > > > values to DTO objects). > > > > > > > > > > > > Adding a mapper interface to delegate to would also allow people > to > > > > plug > > > > > > their own implementation in. > > > > > > > > > > > > WDYT? > > > > > > > > > > > > JLouis > > > > > > > > > > > > > > > > > > 2013/7/1 Thomas Hug <thomas....@gmail.com> > > > > > > > > > > > > > Hi John > > > > > > > Thnx for the message, missed that one. Looks like there's a > > default > > > > > > profile > > > > > > > needed (test-persistence.xml only part of the specific server > > > > > profiles). > > > > > > > Will check tonight. > > > > > > > > > > > > > > > > > > > > > On Mon, Jul 1, 2013 at 2:42 AM, John D. Ament < > > > > john.d.am...@gmail.com > > > > > > > >wrote: > > > > > > > > > > > > > > > Hi > > > > > > > > > > > > > > > > Whoever brought in the data module, can you double check your > > > tests > > > > > and > > > > > > > > license headers? > > > > > > > > > > > > > > > > I think it's just your tests, but it's failing during a rat > > check > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://builds.apache.org/job/DeltaSpike%20RAT-Check/org.apache.deltaspike.modules$deltaspike-data-module-impl/558/testReport/org.apache.deltaspike.data.impl/QueryResultTest/org_apache_deltaspike_data_impl_QueryResultTest/ > > > > > > > > > > > > > > > > John > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Jean-Louis > > > > > > > > > > > > > > > > > > > > >