|
@@ -31,6 +31,24 @@ public class From<T> extends Where<T> {
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
+ public <K, V> From<T> leftJoin(Class<K> cls1, SFunction<V, ?> on2) {
|
|
|
+ return leftJoin(sql.getTableAlias(cls1), cls1, sql.getTableAlias(on2), on2);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> From<T> leftJoin(Class<K> cls1, String as2, SFunction<V, ?> on2) {
|
|
|
+ return leftJoin(sql.getTableAlias(cls1), cls1, as2, on2);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> From<T> leftJoin(String as1, Class<K> cls1, SFunction<V, ?> on2) {
|
|
|
+ return leftJoin(as1, cls1, sql.getTableAlias(on2), on2);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> From<T> leftJoin(String as1, Class<K> cls1, String as2, SFunction<V, ?> on2) {
|
|
|
+ sql.fromList.add(" LEFT JOIN " + Sql.getTableName(cls1) + StringPool.SPACE + as1 + " ON " +
|
|
|
+ as1 + ".id = " + sql.getSqlFieldName(as2, on2));
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+
|
|
|
public <K, V> From<T> rightJoin(Class<K> cls1, SFunction<K, ?> on1, SFunction<V, ?> on2) {
|
|
|
return rightJoin(sql.getTableAlias(cls1), cls1, on1, sql.getTableAlias(on2), on2);
|
|
|
}
|
|
@@ -49,6 +67,24 @@ public class From<T> extends Where<T> {
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
+ public <K, V> From<T> rightJoin(Class<K> cls1, SFunction<V, ?> on2) {
|
|
|
+ return rightJoin(sql.getTableAlias(cls1), cls1, sql.getTableAlias(on2), on2);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> From<T> rightJoin(Class<K> cls1, String as2, SFunction<V, ?> on2) {
|
|
|
+ return rightJoin(sql.getTableAlias(cls1), cls1, as2, on2);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> From<T> rightJoin(String as1, Class<K> cls1, SFunction<V, ?> on2) {
|
|
|
+ return rightJoin(as1, cls1, sql.getTableAlias(on2), on2);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> From<T> rightJoin(String as1, Class<K> cls1, String as2, SFunction<V, ?> on2) {
|
|
|
+ sql.fromList.add(" RIGHT JOIN " + Sql.getTableName(cls1) + StringPool.SPACE + as1 + " ON " +
|
|
|
+ as1 + ".id = " + sql.getSqlFieldName(as2, on2));
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+
|
|
|
public <K, V> From<T> innerJoin(Class<K> cls1, SFunction<K, ?> on1, SFunction<V, ?> on2) {
|
|
|
return innerJoin(sql.getTableAlias(cls1), cls1, on1, sql.getTableAlias(on2), on2);
|
|
|
}
|
|
@@ -67,4 +103,22 @@ public class From<T> extends Where<T> {
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
+ public <K, V> From<T> innerJoin(Class<K> cls1, SFunction<V, ?> on2) {
|
|
|
+ return innerJoin(sql.getTableAlias(cls1), cls1, sql.getTableAlias(on2), on2);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> From<T> innerJoin(Class<K> cls1, String as2, SFunction<V, ?> on2) {
|
|
|
+ return innerJoin(sql.getTableAlias(cls1), cls1, as2, on2);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> From<T> innerJoin(String as1, Class<K> cls1, SFunction<V, ?> on2) {
|
|
|
+ return innerJoin(as1, cls1, sql.getTableAlias(on2), on2);
|
|
|
+ }
|
|
|
+
|
|
|
+ public <K, V> From<T> innerJoin(String as1, Class<K> cls1, String as2, SFunction<V, ?> on2) {
|
|
|
+ sql.fromList.add(" INNER JOIN " + Sql.getTableName(cls1) + StringPool.SPACE + as1 + " ON " +
|
|
|
+ as1 + ".id = " + sql.getSqlFieldName(as2, on2));
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+
|
|
|
}
|