Home » Author Archives: Lukas Eder

Author Archives: Lukas Eder

Lukas is a Java and SQL enthusiast developer. He created the Data Geekery GmbH. He is the creator of jOOQ, a comprehensive SQL library for Java, and he is blogging mostly about these three topics: Java, SQL and jOOQ.

NULL is Not The Billion Dollar Mistake. A Counter-Rant

software-development-2-logo

A short while ago, I gave this answer on Quora. The question was “What is the significance of NULL in SQL?” and most of the existing answers went on about citing C.J. Date or Tony Hoare and unanimously declared NULL as “evil”. So, everyone rants about NULL all the time. Let me counter-rant.     Academics Of course, academics like ...

Read More »

What the sun.misc.Unsafe Misery Teaches Us

java-logo

Oracle will remove the internal sun.misc.Unsafe class in Java 9. While most people are probably rather indifferent regarding this change, some other people – mostly library developers – are not. There had been a couple of recent articles in the blogosphere painting a dark picture of what this change will imply:             Dripstat‘s Removal of ...

Read More »

What’s Even Harder Than Dates and Timezones? Dates and Timezones in SQL / JDBC!

java-logo

There was an interesting discussion recently on the jOOQ mailing list about jOOQ’s current lack of out-of-the-box support for TIMESTAMP WITH TIME ZONE data types. No one said that date, time and timezones are easy! There’s an amusing piece here, which I recommend reading: Falsehoods programmers believe about time And when that’s not enough, read also: More falsehoods programmers believe ...

Read More »

How to Debug Your Maven Build with Eclipse

eclipse-logo

When running a Maven build with many plugins (e.g. the jOOQ or Flyway plugins), you may want to have a closer look under the hood to see what’s going on internally in those plugins, or in your extensions of those plugins. This may not appear obvious when you’re running Maven from the command line, e.g. via: C:\Users\jOOQ\workspace>mvn clean install Luckily, ...

Read More »

Implementing Client-Side Row-Level Security with jOOQ

jooq-2-logo

Some time ago, we’ve promised to follow up on our Constraints on Views article with a sequel showing how to implement client-side row-level security with jOOQ. What is row-level security? Some databases like Oracle or the upcoming PostgreSQL 9.5 provide native support for row-level security, which is awesome – but not every database has this feature. Row level security essentially ...

Read More »

JavaEE or Spring? Neither! We Call Out For a Fresh Competitor!

spring-interview-questions-answers

If you’ve been following some key Java people on Twitter or reading the “news” on Reddit, you could not have missed the hilarious “bitch fight” (pardon my French) between some Spring and JavaEE evangelists. First, Jürgen Höller’s provocative article: “Happy second birthday, Java EE 7! How is it going in production?” Then, Reza Rahman’s response: “The Ghosts of Java EE ...

Read More »

What Exactly are SQL Views?

software-development-2-logo

You probably know about “ordinary views” already, but I’m sure you’ll find one or two things in this article that you haven’t thought about in this way yet… What exactly are SQL views? Views in SQL are a means of treating complex queries in the same way as “ordinary” tables. In fact, SQL is all about tables (which are bags ...

Read More »

We’re Taking Bets: This Annotation Will Soon Show up in the JDK

java-logo

This recent Stack Overflow question by Yahor has intrigued me: How to ensure at Java 8 compile time that a method signature “implements” a functional interface. It’s a very good question. Let’s assume the following nominal type: @FunctionalInterface interface LongHasher { int hash(long x); } The type imposes a crystal clear contract. Implementors must provide a single method named hash() ...

Read More »

Type Safe Queries for JPA’s Native Query API

java-interview-questions-answers

When you’re using JPA – sometimes – JPQL won’t do the trick and you’ll have to resort to native SQL. From the very beginning, ORMs like Hibernate kept an open “backdoor” for these cases and offered a similar API to Spring’s JdbcTemplate, to Apache DbUtils, or to jOOQ for plain SQL. This is useful as you can continue using your ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.