@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public final List<ForeignKey<Record, ?>> getReferences() { List<ForeignKey<?, ?>> result = new ArrayList<ForeignKey<?, ?>>(); result.addAll(lhs.getReferences()); result.addAll(rhs.getReferences()); return (List) result; }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public final List<ForeignKey<Record, ?>> getReferences() { List<? extends ForeignKey<?, ?>> lhsReferences = lhs.getReferences(); List<? extends ForeignKey<?, ?>> rhsReferences = rhs.getReferences(); List<ForeignKey<?, ?>> result = new ArrayList<ForeignKey<?, ?>>(lhsReferences.size() + rhsReferences.size()); result.addAll(lhsReferences); result.addAll(rhsReferences); return (List) result; }
@Override public final List<ForeignKey<R, ?>> getReferences() { return alias.wrapped().getReferences(); }
@Override public final List<ForeignKey<R, ?>> getReferences() { return alias.wrapped().getReferences(); }
/** * Determines if a table's primary key is referenced at all by other tables. * * @param table * @param others * @return */ public static boolean isReferencedBy(Table<?> table, List<Table<?>> others) { for (Table<?> other : others) { for (ForeignKey<?, ?> key : other.getReferences()) { if (key.getKey().getTable().equals(table)) { return true; } } } return false; }
@Override public final JoinTable onKey(TableField<?, ?>... keyFields) throws DataAccessException { if (keyFields != null && keyFields.length > 0) { if (keyFields[0].getTable().equals(lhs)) { for (ForeignKey<?, ?> key : lhs.getReferences()) { if (key.getFields().containsAll(asList(keyFields))) { return onKey(key); } } } else if (keyFields[0].getTable().equals(rhs)) { for (ForeignKey<?, ?> key : rhs.getReferences()) { if (key.getFields().containsAll(asList(keyFields))) { return onKey(key); } } } } throw onKeyException(); }
@Override public final JoinTable onKey(TableField<?, ?>... keyFields) throws DataAccessException { if (keyFields != null && keyFields.length > 0) { if (search(lhs, keyFields[0].getTable()) != null) { for (ForeignKey<?, ?> key : lhs.getReferences()) { if (key.getFields().containsAll(asList(keyFields))) { return onKey(key); } } } else if (search(rhs, keyFields[0].getTable()) != null) { for (ForeignKey<?, ?> key : rhs.getReferences()) { if (key.getFields().containsAll(asList(keyFields))) { return onKey(key); } } } } throw onKeyException(OnKeyExceptionReason.NOT_FOUND, null, null); }
private List<Constraint> foreignKeys(Table<?> table) { List<Constraint> result = new ArrayList<Constraint>(); if (flags.contains(FOREIGN_KEY)) for (ForeignKey<?, ?> key : table.getReferences()) result.add(constraint(key.getName()).foreignKey(key.getFieldsArray()).references(key.getKey().getTable(), key.getKey().getFieldsArray())); return result; }
protected void registerRelationships() { for (TypeSet typeSet : typeSets) { for (Class<?> clz : typeSet.getTypeClasses()) { Table<?> table = JooqUtils.getTableFromRecordClass(clz); if (table == null) { continue; } registerTableFields(table); for (ForeignKey<?, ?> reference : table.getReferences()) { register(reference); } } } findMappings(); }
@SuppressWarnings("unchecked") public ReflectedTable(Table<?> table) { super(table.getQualifiedName()); this.table = table; for (Field<?> field : table.fields()) { String name = field.getName(); DataType<Object> dataType = (DataType<Object>) field.getDataType(); TableField newField = createField(name, dataType); fields.put(name, newField); } UniqueKey<?> primaryKey = table.getPrimaryKey(); if (primaryKey != null) { if (primaryKey.getFields().size() == 1) { pk = primaryKey.getFields().get(0); } } for (ForeignKey<?, ?> fk : table.getReferences()) { fks.put(findForeignKeyFieldName(fk), findForeignKeyReference(fk)); } }
if (foreignKey == null) { Table<?> childTable = JooqUtils.getTableFromRecordClass(child); for (ForeignKey<?, ?> foreignKeyTest : childTable.getReferences()) { if (foreignKeyTest.getKey().getTable().getRecordType() == parent) { if (propertyField != null) {
exportKey0(result, t, key, key.isPrimary() ? PRIMARY_KEY : UNIQUE); for (ForeignKey<?, ?> fk : t.getReferences()) if (includedTables.contains(fk.getKey().getTable())) exportKey0(result, t, fk, FOREIGN_KEY);