Tweet of the Day
Our followers, users and customers are shouting to the world. Here are:
- Breandan Considine who, thanks to jOOQ, has lost over ten pounds and can now write queries at the speed of thought! (He must have lost that weight because he forgot to eat while enjoying coding with jOOQ!)
— breandan (@breandan) February 10, 2014
- Chris Martin who cannot wait for jOOQ 3.3’s awesome new SEEK method!
— Chris Martin (@chris__martin) February 10, 2014
In our last newsletter, we have promoted our cooperation with RedHat’s content marketing team regarding our Open Source vendor business model. In the mean time, we have published another article on their platform about the 5 lessons learned for any business transitioning to a revenue-based model with Open Source. We recommend this interesting read to anyone who plans to make money with Open Source:
Our cooperation with other Open Source projects is a crucial part of our marketing strategy. Our ASL 2.0 / commercial dual licensing model might prove to be a viable use-case also for other Open Source projects building on top of jOOQ. Examples of such projects that are currently investigating an integration are
Also in the future, we’ll make an effort to better integrate with such projects to help spread the good jOOQ news to the world.
It looks like great community-contributed work doesn’t stop appearing around jOOQ. We’ve worked together with Loiane Groner who has written this great tutorial about jOOQ in Portuguese. Loiane is consultant working for IBM and a well-known writer of books that mostly talk about Sencha Ext JS. She has also been promoting MyBatis in the past. We’re looking forward to more from her!
Ben Hood has been a long-term jOOQ aficionado who had been very active on the user group. He has taken inspiration from jOOQ to build his own DSL for Apache Cassandra, calling it CQLC, which is great news for the Cassandra community!Now, we’re looking forward to other APIs that cover MongoDB or Neo4j!
And just recently, Breandan Considine (who has lost ten pounds because of jOOQ) published great video tutorial for jOOQ, Gradle and IntelliJ IDEA users
In January, we have been visiting probably the largest JUG in Germany, theRheinJUG in Düsseldorf and also the JUGM in Munich. The German-speakers among you can watch the whole RheinJUG presentation. The audience was very very interactive and has left the talk with thousands of insights to continue discussing, as our talks inspire not only jOOQ business, but also SQL love!
Here is an overview of our upcoming events.
- March 20, 2014: JUGS Zürich (German, about SQL)
- April 4, 2014: JUG Saxony Day in Dresden (German, about jOOQ)
- April 7, 2014: VSUG in Vienna (English, about jOOQ in Scala!)
- May 14 – 16, 2014: Geecon in Kraków (English, about jOOQ)
With our new SQL-talk, we’ll no longer just spread some jOOQ love, but also some SQL love in general. We believe that SQL deserves more presence in today’s software engineering talks, and who would be better to talk about SQL than us? Are you interested in hosting this talk at your company? Contact us!
Stay informed about 2014 events on www.jooq.org/news.
In this section of the newsletter, we usually talk about SQL in the “SQL Zone”, but our other beloved technology is Java and exciting times are ahead in 2014 for us Java folks. This is why we have started a new series in our blog, the Java 8 Friday Goodies.
In this series, we talk about little everyday things that improve / impair / or just change with Java 8 when we code. Some examples:
If you haven’t already, sign up for the Java 8 Friday Goodies blog category!
Everytime you read an excellent article and don't share it, god kills a kitten!
A jOOQ Runtime Only Distribution
Several of our customers have made us aware of the fact that they don’t really need the jOOQ code generator, only the SQL builder / query DSL API and possibly the SQL execution functionality. In the next weeks, we’ll be working towards a new “jOOQ Runtime Only Distribution” that will ship at a lower price. Concretely, we’ll be giving those customers a 25% discount on the regular distributions for any of jOOQ Express, jOOQ Professional, and jOOQ Enterprise.
Obviously, we recommend to use jOOQ’s code generator to profit from the full feature scope that we offer.
We have updated our commercial license to improve your legal relationship with Data Geekery. Essentially, these things have been amended:
- Definitions: We have added the missing definition of what is a “Minor Defect”
- 6.2 Distribution Right: The distribution right section now grants you a perpetual license to distribute the software, instead of a timely limited one. This will allow you to continue to distribute, embed and use jOOQ in your End-user Application even if you terminate your Developer Workstation License Agreement with us. You will, however, still need to license jOOQ in order to maintain your End-user Application.
- 7.1.1 Remedial Services: The remedial services section now formally defines how Minor Defects are remedied
As this updated license grants new rights to our customers, it shall be in effect immediately also for existing jOOQ 3.2 customers.
We have recently presented jOOQ at the Java2Days conference in Sofia, Bulgaria as well as at the Java User Group Berlin-Brandenburg. Both talks have enjoyed a high attendance with lots of SQL developers challenging us with interesting questions. Of course, jOOQ responds to most questions already, as Manuel Bernhardt, another speaker has observed:
If you want us to talk about jOOQ or SQL near you, do not hesitate to contact us.
Here is an overview of other, upcoming events:
- December 18, 2013: JUGS in Berne (German)
- January 23, 2014: Rhein JUG in Düsseldorf (German)
- January 27, 2014: JUGM in Munich (German)
Stay informed about 2014 events on www.jooq.org/news. If you’re looking for the slides, they’re available for free under a CC BY-SA 3.0 license on SlideShare.
Using jOOQ with Hibernate
While jOOQ can be seen as a popular alternative to Hibernate, there is no stopping you from using both frameworks in the same application. While Hibernate heavily improves every day CRUD operations, jOOQ heavily improves writing SQL in Java. The two goals can be orthogonal and thus it may make perfect sense to combine the two.
Vlad Mihalcea, an enthusiastic jOOQ user, is writing up a series of blog posts on his blog about how to use jOOQ with Hibernate:
Gavin King himself chimed in on Google+ and confirmed once again that it was never his intention for Hibernate to be used for everything.
If you want to share your own experience of your jOOQ / Spring, jOOQ / Hibernate, jOOQ / Anything integration, let us know!
SQL Zone – “Lightning Fast SQL with Proper Indexing”
Understanding SQL and the history of SQL is of the essence when you want to get the best out of your relational database. This has recently been nicely explained by Markus Winand at the Oredev conference 2013. Luckily, his presentation has been recorded for free review.
More about the history of SQL can be seen in this interesting article about Codd’s Relational Vision – Has NoSQL Come Full Circle? It proves what we have been evangelising for a while, ourselves. NoSQL is not a new technology. It is more of a return to pre-Codd times when people did not have a powerful relational model to abstract their storage implementation away from their application. This article claims that Codd’s greatest achievement was the fact that he surpassed the deficiencies of early databases:
- Access dependencies
- Order dependencies
- Index dependencies
Read the full article for a very interesting historic insight into the relational model, and why NoSQL might not be a good answer for most general problems.
Everytime you read an excellent article and don't share it, god kills a kitten!
- 2,570,284 hits
- Java 8 Will Revolutionize Database Access buff.ly/1QbrhGg 2 hours ago
- What’s new in JUnit 5? buff.ly/1LkEaMY 5 hours ago
Get Back in Control of Your SQL
Top Posts & Pages
- The Difference Between ROW_NUMBER(), RANK(), and DENSE_RANK()
- Do You Really Understand SQL's GROUP BY and HAVING clauses?
- Dear API Designer. Are You Sure, You Want to Return a Primitive?
- SQL Trick: row_number() is to SELECT what dense_rank() is to SELECT DISTINCT
- Java 8 Friday: 10 Subtle Mistakes When Using the Streams API
- Java 8 Friday Goodies: Map Enhancements
- 10 Subtle Best Practices when Coding Java
- The 10 Most Popular DB Engines (SQL and NoSQL)
- Top 10 Easy Performance Optimisations in Java
- Easy Mocking of Your Database
- Dear API Designer. Are You Sure, You Want to Return a Primitive? February 11, 2016
- The 5 Golden Rules of Giving Awesome Customer Support February 9, 2016
- Using Oracle AQ via Java 8 Streams February 8, 2016
- How to Detect Slow Queries with jOOQ January 28, 2016
- How to Pattern-Match Files and Display Adjacent Lines in Java January 26, 2016
- Use JUnit’s expected exceptions sparingly January 20, 2016
- Impress Your Coworkers by Using SQL UNPIVOT! January 18, 2016
- Reactive Database Access – Part 3 – Using jOOQ with Scala, Futures and Actors January 14, 2016
- If Java Were Designed Today: The Synchronizable Interface January 12, 2016
- 2016 Will be the Year Remembered as When Java Finally Had Window Functions! January 6, 2016
- February 2016 (3)
- January 2016 (8)
- December 2015 (10)
- November 2015 (2)
- October 2015 (8)
- September 2015 (5)
- August 2015 (7)
- July 2015 (3)
- June 2015 (7)
- May 2015 (9)
- April 2015 (11)
- March 2015 (11)
- February 2015 (10)
- January 2015 (9)
- December 2014 (10)
- November 2014 (8)
- October 2014 (5)
- September 2014 (13)
- August 2014 (11)
- July 2014 (10)
- June 2014 (14)
- May 2014 (15)
- April 2014 (11)
- March 2014 (15)
- February 2014 (17)
- January 2014 (14)
- December 2013 (23)
- November 2013 (24)
- October 2013 (19)
- September 2013 (15)
- August 2013 (24)
- July 2013 (17)
- June 2013 (3)
- May 2013 (5)
- April 2013 (6)
- March 2013 (8)
- February 2013 (11)
- January 2013 (3)
- December 2012 (5)
- November 2012 (2)
- October 2012 (5)
- September 2012 (7)
- August 2012 (7)
- July 2012 (7)
- June 2012 (1)
- May 2012 (6)
- April 2012 (12)
- March 2012 (3)
- February 2012 (5)
- January 2012 (12)
- December 2011 (8)
- November 2011 (15)
- October 2011 (17)
- September 2011 (12)
- August 2011 (13)
- July 2011 (4)