Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

jOOQ Tip of the Day: Discover all Primary Keys

DZone's Guide to

jOOQ Tip of the Day: Discover all Primary Keys

· Java Zone ·
Free Resource

Distribute microservices between the private and public clusters, yet maintain bi-directional connectivity. Content provided by IBM Developer.

We’ve recently encountered this interesting use-case on the jOOQ user group. How do you discover all primary keys of your schema via the jOOQ API? There are two ways:

  • Using the generated meta data
  • Using runtime meta data

Let’s see how it works:

Using the generated meta data

This is straightforward. If you’re using Java 8, you can run the following program

GENERATED_SCHEMA
    .getTables()
    .stream()
    .map(t -> t.getPrimaryKey())
    .filter(Objects::nonNull)
    .forEach(System.out::println);

Whereas with Java 7 or less, you’d write

for (Table<?> t : GENERATED_SCHEMA.getTables()) {
    UniqueKey<?> key = t.getPrimaryKey();
 
    if (key != null)
        System.out.println(key);
}

Using runtime meta data

If you’re not using the code generator, the same can be achieved with:

DSL.using(configuration)
   .meta()
   .getTables()
   .[ same as above ]

That’s it! Another interesting use case of querying the meta information via the jOOQ API can be seen here.



Use this tool to look at the contents of GitHub and classify code based on the programming language used.  Content provided by IBM Developer.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}