Thanks Ben, for answering this. @Aaron, I'm currently not at home, on vacation. I'll have a closer look at your e-mail some time next week.
Thanks for your patience Lukas Am Donnerstag, 24. Januar 2013 schrieb Ben Hood <[email protected]>: > Hi Digulla, > Sorry for the top post, but I think this is the best way I can answer your question with the limited knowledge I have about JOOQ. > I think there a few parts to answer your question. > Firstly, I'm not aware of JOOQ 2.6 producing a catalog when it introspects your schema. I think this functionality is covered by this ticket: https://github.com/jOOQ/jOOQ/issues/1097. Given that, I think you would need to query the information schema of your database to list out every table that has a column called XML_ID. > Secondly, you could use this list to create dynamic query objects, i.e. those not backed by generated artifacts. Here is an example we wrote recently: > https://github.com/lshift/diffa/blob/v2/sql-driver/src/main/java/net/lshift/diffa/sql/DynamicTable.java > So that is actually quite simple, but you would need to know how to use it. If you then look in the sliceAssignedEntities() call of this class: > https://github.com/lshift/diffa/blob/v2/sql-driver/src/main/java/net/lshift/diffa/sql/DateBasedAggregationScanner.java > You can see how you can effectively feed in table definitions at run time and start using the normal JOOQ building blocks. You can use JOOQ to programmatically build your queries without having to use code generation. > The returned record types will be quite generic, because you don't have code generation. However, I think that this an exercise in factoring out your usage of the JOOQ runtime API, which, although differs from the normal generated code access patterns, is still quite a succinct and maintainable way of generating queries to solve your business requirement. > HTH, > Ben > > On Thursday, 24 January 2013 at 08:42, digulla wrote: > > On Tuesday, January 15, 2013 2:41:25 PM UTC+1, digulla wrote: > > I'm building a query along the lines of > select PK, XML_ID from every table that has a column XML_ID where XML_ID like 'foo%' > (I build N selects and then join them using UNION ALL). The result of the query is Record which means consumers won't be type safe. > Instead, I'd like to return a record type but implementing Record is a lot of work and UpdatableRecordImpl<> needs one table (I have 188 tables) and AbstractRecord is package private. > Is that possible with jOOQ? >
