On Wed, Oct 19, 2022 at 12:53 PM Lukas Eder <[email protected]> wrote:
> Alf, > > On Wed, Oct 19, 2022 at 11:59 AM Alf Lervåg <[email protected]> wrote: > >> Thanks for this writeup Lukas, good to have these texts to refer to. >> Hopefully this will be a blog post as well? >> > > Could be an interesting idea, thanks. The post would focus on the graph > (identity) vs. tree (value) discussion. > Yes, that's the part I found enlightening. I haven't really thought about things in this way before, however it's obvious that you've done so and that it gives a nice framework for understanding the benefits and downsides of the direction we've chosen. That is to accept and lean into SQL. > > >> I just want to say that we’re having great success in autogenerating >> API-implementations based on API specifications combined with some >> annotations that tie the APIs to our autogenerated jOOQ-library. >> > > That also sounds like a blog post! Or even an open source library? > We're still early here but the results are promising. A blog post sounds like a good idea. Making this into an open source library is in line with our plans, however we'll need a few more iterations internally first. > I'm still very keen on facilitating the most common use-cases, without > getting lured into any too opinionated framework. I.e. most tree structures > are probably quite similar, and hand-rolling the exact query to materialise > a specific tree structure is too boring, so it's quite possible that > generating the query from the tree structure is an interesting approach. > > Maybe, you re-invented GraphQL to some extent? :) > We're betting big on GraphQL actually. Our approach is to design the GraphQL schema first and then add custom directives that maps our GraphQL objects and fields to tables, fields and methods in our jOOQ layer. Based on this we're able to generate GraphQL Resolvers, including all the queries against our database. Here we lean on jOOQ as much as possible. Implicit joins are great, `to-many`-path expressions [#13639] will be amazing. ForcedTypes and virtual calculated columns provide us with great places to do more complex transformations. We're still experimenting and learning how to make best use of the functionality available to us. :) I'm happy to go into more detail later, maybe in the form of a blog post as you suggest. > -- > 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]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jooq-user/CAB4ELO6_g-AqrsTAW1ZmEzP3wATX_f_1kYtFZxEhAWiO8podoQ%40mail.gmail.com > <https://groups.google.com/d/msgid/jooq-user/CAB4ELO6_g-AqrsTAW1ZmEzP3wATX_f_1kYtFZxEhAWiO8podoQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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]. To view this discussion on the web visit https://groups.google.com/d/msgid/jooq-user/CAEmGeO493p1O-fgkc97R2AkAGQDZpEUt7R3KMDqZcSz%3DdjxcEw%40mail.gmail.com.
