Hi Sander, Thanks for sharing that insight.
I'm especially interested in the management of JDBC factories and the models and data providers extensions, as I see the most potential of integrating that into a reusable jooq-wicket project there. The problem with finding "general" solutions is probably also the fact that you're developing those extensions directly for your real-life needs. Hence, they are a bit biased towards your current goals. I think that if this could become community-ware, and some other developers had a look at it, those extensions could quickly become more general, for you too. About the data provider: Those kinds of extensions could also just move into the Factory. There's already a couple of fetch methods, that filter data from a table (without limits and paging). I could extend those. About converting String to the concrete type: Have you tried using org.jooq.DataType.convert() ? You can access that method like this: Integer intInput = SomeTable.SOME_INT_FIELD.getDataType().convert(stringInput) Whenever you need to use plain SQL, it's probably time for a feature (or support) request ;-) About selecting from more than one table: In your case, it might indeed be the best solution to use views to model relations between tables, and then have jOOQ generate TableRecords for those views. If views are simple enough, you can even define primary keys on their fields, such that they become UpdatableRecords. That really depends on the RDBMS and the underlying JOIN constructs though. Without views, I'm lost too, though for now. There is a plan to support JPA-annotated entities, in a dedicated List<E> fetchInto(Class<E>) method. This would be a starting point of making jOOQ a partial JPA implementation, and it might be useful in your case, as you could create your own POJO's again. Persisting them will be more difficult, though. >> - Would you be interested in writing a success story for that >> integration, for instance onhttp://java.dzone.com/, or any of these >> blogs:http://wicket.apache.org/meet/blogs.htmlor any other place? > > Of course! I remember that i also already promised you to share some > of my code :) > > I wonder what would be the best way to do this. Maybe i should write a > simple example application (maybe something like a simple blog or a > forum?) and write an article around that? If you have an idea, let me > know :) Any publicity is welcome! If you could explain in some simple words and some simple examples how you did it, that would be very good for dzone or Javaworld, I think. I'd really appreciate that! >> - Do you think there is potential for someone to write a general >> Wicket integration that might make it to this >> list:http://wicket.apache.org/learn/projects/ > > Yes, i think there is, on both the jOOQ factory management and Models/ > DataProvider side of things. > > I'm affraid that i don't have much time to do this at this moment, and > to be honest i'm also not that confident about my java/wicket/jooq > skills that i would trust myself to write code for other developers > yet ;) No problem about that. I could help you in any case, if I have a starting point, by which I mean having a look at your work :-) > On the other hand, i do intend to continue using jOOQ + Wicket for the > foreseeable future. Maybe in a few months, when my integration code is > a bit more stable, i can base a general wicket/jooq integration module > on it. No need to wait. jOOQ has had some 2000+ downloads now on source forge (and some more on Maven). Growth is exponential. If we file this integration as "in alpha/beta mode", the community might be interested to test it and provide feedback. Believe me, everything goes so much faster when you have a community providing feedback and testing your code. And there will be lots of ideas, too. As I said, I think the time is ripe for Wicket/Play! integrations for out-of-the-box, rapid web development. I may even have a committer who's interested in developing and maintaining such a solution (apart from myself). So the sooner we start, the more you'll get out of it, yourself :-) Cheers Lukas
