We're very happy to announce a guest post by Marco Behler, who has been blogging about jOOQ in the past. Marco started out in programming (reverse-engineering, actually) and now mainly programmes on the JVM in his day-to-day work. He also always had a sweet tooth for strategy and marketing. Marco Behler GmbH is the result … Continue reading It is all about the JDBC Basics
Tag: hibernate
jOOQ Tuesdays: Vlad Mihalcea Gives Deep Insight into SQL and Hibernate
Welcome to the jOOQ Tuesdays series. In this series, we’ll publish an article on the third Tuesday every other month where we interview someone we find exciting in our industry from a jOOQ perspective. This includes people who work with SQL, Java, Open Source, and a variety of other related topics. We have the pleasure … Continue reading jOOQ Tuesdays: Vlad Mihalcea Gives Deep Insight into SQL and Hibernate
jOOQ vs. Hibernate: When to Choose Which
Hibernate has become a de-facto standard in the Java ecosystem, and after the fact, also an actual JavaEE standard implementation if standards matter to you, and if you put the JCP on the same level with ISO, ANSI, IEEE, etc. This article does not intended to discuss standards, but visions. Hibernate shares JPA's vision of … Continue reading jOOQ vs. Hibernate: When to Choose Which
Leaky Abstractions, or How to Bind Oracle DATE Correctly with Hibernate
We've recently published an article about how to bind the Oracle DATE type correctly in SQL / JDBC, and jOOQ. This article got a bit of traction on reddit with an interesting remark by Vlad Mihalcea, who is frequently blogging about Hibernate, JPA, transaction management and connection pooling on his blog. Vlad pointed out that … Continue reading Leaky Abstractions, or How to Bind Oracle DATE Correctly with Hibernate
Look no Further! The Final Answer to “Where to Put Generated Code?”
This recent question on Stack Overflow made me think. Why does jOOQ suggest to put generated code under “/target” and not under “/src”? ... and I'm about to give you the final answer to "Where to Put Generated Code?" This isn't only about jOOQ Even if you're not using jOOQ, or if you're using jOOQ … Continue reading Look no Further! The Final Answer to “Where to Put Generated Code?”
Stop Unit Testing Database Code
Writing tests that use an actual database is hard. Period. Now that this has been established, let's have a look at a blog post by Marco Behler, in which he elaborates on various options when testing database code, with respect to transactionality. Testing database transactions is even harder than just testing database code. Marco lists … Continue reading Stop Unit Testing Database Code
MyBatis’ Alternative Transaction Management
On the jOOQ user group, we're often being asked how to perform transaction management with jOOQ. And we have an easy answer ready: You don't do that with jOOQ. You choose your favourite transaction management API, be it: JDBC Spring JEE JTA (e.g. as supported by Weblogic) Bitronix TM Hibernate And the above list is far … Continue reading MyBatis’ Alternative Transaction Management
Deep Stack Traces Can be a Sign for Good Code Quality
The term "leaky abstractions" has been around for a while. Coining it is most often attributed to Joel Spolsky, who wrote this often-cited article about it. I've now stumbled upon another interpretation of a leaky abstraction, measured by the depth of a stack trace: So, long stack traces are bad according to Geek & Poke. … Continue reading Deep Stack Traces Can be a Sign for Good Code Quality
High Complexity and Low Throughput. Reasons for Using an ORM.
I've recently stumbled upon an interesting blog post about when to use an ORM. I found it to be well-written and quite objective, specifically with respect to its model complexity and throughput diagram: The ORM or not ORM topic will probably never stop showing up on blogs. Some of them are more black and white, … Continue reading High Complexity and Low Throughput. Reasons for Using an ORM.
LINQ and Java
LINQ has been quite a successful, but also controversial addition to the .NET ecosystem. Many people are looking for a comparable solution in the Java world. To better understand what a comparable solution could be, let's have a look at the main problem that LINQ solves: Query languages are often declarative programming languages with many … Continue reading LINQ and Java
