diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java b/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java index 712b31bf05..958a1a1bb6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java @@ -505,15 +505,19 @@ implements @Override public Identity getIdentity() { if (identity == null) { + Identity i = null; + for (Field f : fields()) if (f instanceof TableField && f.getDataType().identity()) - if (identity == null) - identity = new IdentityImpl(this, (TableField) f); + if (i == null) + i = new IdentityImpl(this, (TableField) f); else log.info("Multiple identities", "There are multiple identity fields in table " + this + ", which is not supported by jOOQ"); - if (identity == null) - identity = (Identity) IdentityImpl.NULL; + if (i == null) + i = (Identity) IdentityImpl.NULL; + + identity = i; } return identity == IdentityImpl.NULL ? null : identity;