@lukas Additional documentation / examples and an improved DSLContext sounds sufficient to deprecate the DAOs. +1
On Tue, Mar 21, 2017 at 7:34 AM, Sheldon D'Souza <[email protected]> wrote: > In our latest platform release we moved all our DAO code to DSLContext, as > that gives us more flexibility to query only what we need. > > On Monday, March 20, 2017 at 10:17:07 PM UTC+5:30, Lukas Eder wrote: >> >> Dear group, >> >> The DAO type has been haunting this list ever since it was added to the >> library in version 2.4 (2012). At the time, it was a quick win over a >> competing library that already had the feature. They were extremely easy to >> implement in jOOQ. >> >> However, DAOs (much like repositories, e.g. in Spring Data) are some of >> the most opinionated things in software. As such, they require either: >> >> - A very strong opinion on the matter (duh), but jOOQ doesn't have one >> - An extremely versatile design that satisfies all needs, which is >> probably not possible >> >> This list has debated DAOs time and again in the past. There had been >> many feature requests, extension requests, and people criticising jOOQ's >> use of the Java final keyword as it prevents the application of the >> open-closed principle, at least in those people's understanding. My >> understanding is a bit different: https://blog.jooq.org/2017/03/ >> 20/the-open-closed-principle-is-often-not-what-you-think-it-is >> >> In fact, people bumping into jOOQ's usage of final in this area simply >> shows that the design (or the vision) is insufficient in this particular >> case. Otherwise, there would be no desire to "hack" additional behaviour >> into the existing API through what I believe to be a highly overrated tool >> of object orientation: Concrete class overriding. >> >> Non-essential, yet incomplete features distract us from what jOOQ really >> does well: SQL language abstraction. And this causes great harm to the >> library as I'd really rather be implementing features like MULTISET, >> SQL's temporal validity, better XML and JSON support, etc. etc. than >> debating DAOs. >> >> *I am thus proposing the deprecation of the DAO type per jOOQ 3.10, and >> its removal per jOOQ 4.0:* >> *https://github.com/jOOQ/jOOQ/issues/5984 >> <https://github.com/jOOQ/jOOQ/issues/5984>* >> >> I would like to invite you to join this discussion either to: >> >> - Confirm that you agree with this move >> - Request we continue supporting DAOs (in case of which: please >> illustrate why they're a killer feature for you) >> >> Best Regards, >> Lukas >> > -- > You received this message because you are subscribed to a topic in the > Google Groups "jOOQ User Group" group. > To unsubscribe from this topic, visit https://groups.google.com/d/ > topic/jooq-user/-LnkZtUTb3c/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "jOOQ User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
