There is no Such Thing as Object-Relational Impedance Mismatch

Much of the ORM criticism of the last decade missed the point, being inaccurate. By the end of this article, we will conclude with the following: There is no significant difference between the relational (data) model and object oriented models How to come to this conclusion? Read on! How we came to believe in this … Continue reading There is no Such Thing as Object-Relational Impedance Mismatch

Divided we Stand: Optional

Our recent article "NULL is Not The Billion Dollar Mistake. A Counter-Rant" got us a lot of reads, controversial comments, and a 50/50 upvote / downvote ratio pretty much everywhere a blog post can be posted and voted on. This was expected. Objectively, NULL is just a "special" value that has been implemented in a … Continue reading Divided we Stand: Optional

jOOQ Tuesdays: Thomas Müller Unveils How HSQLDB Evolved into the Popular H2 Database

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: Thomas Müller Unveils How HSQLDB Evolved into the Popular H2 Database

Common SQL Clauses and Their Equivalents in Java 8 Streams

Functional programming allows for quasi-declarative programming in a general purpose language. By using powerful fluent APIs like Java 8's Stream API, or jOOλ's sequential Stream extension Seq or more sophisticated libraries like vavr or functionaljava, we can express data transformation algorithms in an extremely concise way. Compare Mario Fusco's imperative and functional version of the … Continue reading Common SQL Clauses and Their Equivalents in Java 8 Streams

Top 10 Useful, Yet Paranoid Java Programming Techniques

After coding for a while (eek, almost 20 years or so in my case, time flies when you're having fun), one starts to embrace those habits. Because, you know... Anything that Can Possibly Go Wrong, Does. This is why people embrace "defensive programming", i.e. paranoid habits that sometimes make total sense, and sometimes are rather … Continue reading Top 10 Useful, Yet Paranoid Java Programming Techniques

RAM is the new SSD

Your data fits in RAM. Yes, it does. Don't believe it? Visit the hilarious yourdatafitsinram.com website. But there is an entirely new dimension to this since last week's announcement by Intel, which hasn't gotten enough attention in the blogosphere yet. New 3D XPoint™ technology brings non-volatile memory speeds up to 1,000 times faster than NAND, … Continue reading RAM is the new SSD

INTERSECT – the Underestimated Two-Way IN Predicate

Have you ever wondered how you could express a predicate that "feels" like the following, in SQL: WHERE Var1 OR Var2 IN (1, 2, 3) /u/CyBerg90 has, on reddit. The idea was to create a predicate that yields true whenever both values Var1 and Var2 yield either 1, 2, or 3. The canonical solution The … Continue reading INTERSECT – the Underestimated Two-Way IN Predicate