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!
- 1,490,552 hits
- "The SQL Model Clause of Oracle Database 10g An @Oracle White Paper" - Classic and still awesome after 12 years! buff.ly/1c6W9en 15 hours ago
- Very interesting article by @brandur: "Postgres Job Queues & Failure By MVCC" buff.ly/1FyWfr0 18 hours ago
Get Back in Control of Your SQL
Top Posts & Pages
- 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
- Do You Really Understand SQL's GROUP BY and HAVING clauses?
- 10 Subtle Best Practices when Coding Java
- How to Access a Method's Result Value From the Finally Block
- Do Not Make This Mistake When Developing an SPI
- The 10 Most Popular DB Engines (SQL and NoSQL)
- 10 Common Mistakes Java Developers Make when Writing SQL
- The Difference Between ROW_NUMBER(), RANK(), and DENSE_RANK()
- Java 8 Friday Goodies: Map Enhancements
- Do Not Make This Mistake When Developing an SPI May 21, 2015
- How to Access a Method’s Result Value From the Finally Block May 19, 2015
- Use This Preference to Speed up Your Eclipse m2e Configuration May 14, 2015
- Functional Programming in Java 8 with Javaslang May 13, 2015
- Use this Neat Window Function Trick to Calculate Time Differences in a Time Series May 12, 2015
- PostgreSQL’s Best-Kept Secret, and how to Use it with jOOQ May 7, 2015
- How SQL GROUP BY Should Have Been Designed – Like Neo4j’s Implicit GROUP BY May 5, 2015
- This Common API Technique is Actually an Anti-Pattern April 30, 2015
- Do Not Think That One Second is Fast for Query Execution April 28, 2015
- Let’s Review How to Insert Clob or Blob via JDBC April 27, 2015