diff --git a/mybatis-flex-annotation/src/main/java/com/mybatisflex/annotation/RelationManyToOne.java b/mybatis-flex-annotation/src/main/java/com/mybatisflex/annotation/RelationManyToOne.java index 475936a1..16282aec 100644 --- a/mybatis-flex-annotation/src/main/java/com/mybatisflex/annotation/RelationManyToOne.java +++ b/mybatis-flex-annotation/src/main/java/com/mybatisflex/annotation/RelationManyToOne.java @@ -103,6 +103,12 @@ public @interface RelationManyToOne { */ String dataSource() default ""; + + /** + * 查询时,追加的额外条件。 + */ + String extraCondition() default ""; + /** * 查询(加载)指定的列 */ diff --git a/mybatis-flex-annotation/src/main/java/com/mybatisflex/annotation/RelationOneToOne.java b/mybatis-flex-annotation/src/main/java/com/mybatisflex/annotation/RelationOneToOne.java index e9bca7d0..c1182490 100644 --- a/mybatis-flex-annotation/src/main/java/com/mybatisflex/annotation/RelationOneToOne.java +++ b/mybatis-flex-annotation/src/main/java/com/mybatisflex/annotation/RelationOneToOne.java @@ -103,6 +103,11 @@ public @interface RelationOneToOne { */ String dataSource() default ""; + /** + * 查询时,追加的额外条件。 + */ + String extraCondition() default ""; + /** * 查询(加载)指定的列 */ diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/ManyToOne.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/ManyToOne.java index 3ffdf92b..0053f75f 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/ManyToOne.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/ManyToOne.java @@ -34,6 +34,7 @@ class ManyToOne extends ToOneRelation { , annotation.dataSource() , entityClass , relationField + , annotation.extraCondition() , annotation.selectColumns()); } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/OneToOne.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/OneToOne.java index 9a2100fc..01160644 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/OneToOne.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/OneToOne.java @@ -34,6 +34,7 @@ class OneToOne extends ToOneRelation { , annotation.dataSource() , entityClass , relationField + , annotation.extraCondition() , annotation.selectColumns()); } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/ToOneRelation.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/ToOneRelation.java index 591d79d6..110af204 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/ToOneRelation.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/relation/ToOneRelation.java @@ -26,11 +26,12 @@ class ToOneRelation extends AbstractRelation { public ToOneRelation(String selfField, String targetSchema, String targetTable, String targetField, String valueField, String joinTable, String joinSelfColumn, String joinTargetColumn, - String dataSource, Class selfEntityClass, Field relationField, String[] selectColumns) { + String dataSource, Class selfEntityClass, Field relationField, + String extraCondition,String[] selectColumns) { super(selfField, targetSchema, targetTable, targetField, valueField, joinTable, joinSelfColumn, joinTargetColumn, dataSource, selfEntityClass, relationField, - null, selectColumns + extraCondition, selectColumns ); }