All Downloads are FREE. Search and download functionalities are using the official Maven repository.

titan.lightbatis.mybatis.meta.SecondTableMeta Maven / Gradle / Ivy

There is a newer version: 1.2.0
Show newest version
/**
 * 
 */
package titan.lightbatis.mybatis.meta;

import lombok.Data;

import java.io.Serializable;
import java.util.HashSet;
import java.util.List;
import java.util.Set;



/**
 * 从表的一些信息
 * @author [email protected]
 *
 */
@Data
public class SecondTableMeta implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -2875566279521156886L;
	//表名
	private String tableName = null;
	//该表涉及到的列
	private Set columns = new HashSet<>();
	//普通类型的表
	private Set primitiveColumns = new HashSet<>();
	// List 类型的表
	private ColumnMeta listColumn = null;
	
	public void addColumn(ColumnMeta col) {
		columns.add(col);
		Class  colClz = col.getJavaType();
		//返回结果是集合的类型
		if (List.class.isAssignableFrom(colClz)) {
			//listColumns.add(col);
			if (listColumn == null) {
				listColumn = col;
			} else {
				throw new IllegalArgumentException("主表关联从表只能有一个 List 类型的字段");
			}
		}  else  {
			//普通的类型
			primitiveColumns.add(col);
		}
	}
	
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy