From 56418b5fe32536d6b038e2962157432b76ca07e7 Mon Sep 17 00:00:00 2001 From: kamhung <22250530@qq.com> Date: Thu, 3 Dec 2015 16:17:05 +0800 Subject: [PATCH] --- src/com/wentch/redkale/source/FilterBeanNode.java | 2 +- src/com/wentch/redkale/source/FilterJoinColumn.java | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/com/wentch/redkale/source/FilterBeanNode.java b/src/com/wentch/redkale/source/FilterBeanNode.java index 424e4c5c6..8f9fc7d3b 100644 --- a/src/com/wentch/redkale/source/FilterBeanNode.java +++ b/src/com/wentch/redkale/source/FilterBeanNode.java @@ -90,7 +90,7 @@ final class FilterBeanNode extends FilterNode { } final String jc = joinCol.column().isEmpty() ? secinfo.getPrimary().field() : joinCol.column(); if (first) { - joinsb.append(" INNER JOIN ").append(secinfo.getTable()) + joinsb.append(" ").append(joinCol.type().name()).append(" JOIN ").append(secinfo.getTable()) .append(" ").append(alias).append(" ON ").append(secinfo.getSQLColumn("a", jc)).append(" = ").append(secinfo.getSQLColumn(alias, jc)); } newnode.foreignCache = secinfo.getCache(); diff --git a/src/com/wentch/redkale/source/FilterJoinColumn.java b/src/com/wentch/redkale/source/FilterJoinColumn.java index 129cd69d5..96ca22705 100644 --- a/src/com/wentch/redkale/source/FilterJoinColumn.java +++ b/src/com/wentch/redkale/source/FilterJoinColumn.java @@ -10,7 +10,6 @@ import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.RetentionPolicy.RUNTIME; /** - * 只支持 INNER JOIN * * @author zhangjx */ @@ -20,6 +19,11 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; @Retention(RUNTIME) public @interface FilterJoinColumn { + public enum JoinType { //不能支持RIGHT, 因为right获取的主对象都是null + + INNER; + } + /** * 关联表 通常join表默认别名为b/c/d/...自增, 被join表默认别名为a * @@ -34,4 +38,5 @@ public @interface FilterJoinColumn { */ String column() default ""; + JoinType type() default JoinType.INNER; }