/** * Join another model with filters through a referenced model. A helper mechanism to join after a * filter has been applied on the source reference during initial join * * @param join The join object that had been returned by {@link Reference#where(Query.Filter)} * during parent level join * @param <U> The type of the another model being joined * @return A {@link net.symplifier.db.Query.Join} object for chaining */ default <U extends Model> Query.Join<T> join(Query.Join<U> join) { Query.Join<T> j = new Query.Join<>(this); return j.join(join); }
/** * Join another model through a referenced model * * @param reference The reference to another model in the referenced model * @param <U> The type of the another model being joined * @return A {@link net.symplifier.db.Query.Join} object for chaining */ default <U extends Model> Query.Join<T> join(Reference<? super T, U> reference) { Query.Join<T> j = new Query.Join<>(this); return j.join(reference); }