No DTO please, data module for data access, why we care about DTO. A question about the data, the difference for EJB and none EJB environment.
if possible in a EJB envoriment, proxy the Repository and add @Stateless and transaction declaration to Repository automatically at runtime. Regards Hantsy On 7/10/2013 23:23, Thomas Hug wrote: > I wouldn't label the feature with DTO but rather as some general result > transformation - might also be useful for e.g. native queries. Going back > to the API suggestion, from that perspective such an annotation should > probably also work on method level, so I'd keep the forEntity out there. > > > On Wed, Jul 10, 2013 at 4:22 PM, John D. Ament <john.d.am...@gmail.com>wrote: > >> 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 >>>>>>>>