manytomanyfield.java
来自「 EasyDBO是一个超轻量级对象-关系映射(Object/Relation M」· Java 代码 · 共 46 行
JAVA
46 行
package com.easyjf.dbo;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class ManyToManyField extends ManyToOneField {
private String tagColumn;//关联目示列名,第三方表中的字段名
private String tagKey;//关联目标主键
protected Object getValue(DBObject parent, EasyJDB db) {
Class type=this.getType();
String key=this.getKey();
String column=this.getColumn();
String tableName=this.getTableName();
Object obj=null;
Class fieldType=this.fieldType;
java.util.Collection paras=new java.util.ArrayList();
paras.add(parent.get(key));
List list=db.query(type, this.tagKey+" in (select "+this.tagColumn +" from "+this.getTableName()+" where "+this.getColumn()+"=?)", paras);
if(Set.class.isAssignableFrom(this.fieldType))
{
obj=com.easyjf.beans.BeanUtils.instantiateClass(this.fieldType);
((Set)obj).add(list);
}
else
{
obj=list;
}
return obj;
}
public String getTagColumn() {
return tagColumn;
}
public void setTagColumn(String keyColumn) {
this.tagColumn = keyColumn;
}
public String getTagKey() {
return tagKey;
}
public void setTagKey(String tagKey) {
this.tagKey = tagKey;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?