package message.jdbc.sql;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import java.util.HashMap;
import java.util.Map;
/**
* bean的(字段,类名)(数据库列名,表名)的映射关系.
*
* @author sunhao(sunhao.java@gmail.com)
* @version V1.0
* @createTime 2012-10-8 上午04:19:21
*/
public class BeanPersistenceDef {
/**
* 对应的类
*/
private Class<?> clazz;
/**
* 表名
*/
private String tableName;
/**
* id字段的类型
*/
private Class<?> idClass;
/**
* id字段在对象中的字段名称
*/
private String idFieldName;
/**
* id字段在数据库中的列名
*/
private String idColumnName;
/**
* 序列名
*/
private String generator;
/**
* 类中的字段名与数据库列名的映射关系,不包含主键字段
*/
private Map<String, String> fieldColumnMapping = new HashMap<String, String>();
/**
* 向数据库插入对象的sql
*/
private String insertSql;
/**
* 更新对象的sql
*/
private String updateSql;
/**
* 删除对象的sql
*/
private String deleteSql;
/**
* 查询对象的sql
*/
private String selectSql;
/**
* 是否启用缓存
*/
private boolean cacheEnable = false;
/**
* 缓存默认的域名
*/
private String cacheRegion = "ENTITY_REGION";
public BeanPersistenceDef(Class<?> clazz) {
this.clazz = clazz;
}
public Class<?> getClazz() {
return clazz;
}
public void setClazz(Class<?> clazz) {
this.clazz = clazz;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public Class<?> getIdClass() {
return idClass;
}
public void setIdClass(Class<?> idClass) {
this.idClass = idClass;
}
public String getIdFieldName() {
return idFieldName;
}
public void setIdFieldName(String idFieldName) {
this.idFieldName = idFieldName;
}
public String getIdColumnName() {
return idColumnName;
}
public void setIdColumnName(String idColumnName) {
this.idColumnName = idColumnName;
}
public String getGenerator() {
return generator;
}
public void setGenerator(String generator) {
this.generator = generator;
}
public Map<String, String> getFieldColumnMapping() {
return fieldColumnMapping;
}
public void setFieldColumnMapping(Map<String, String> fieldColumnMapping) {
this.fieldColumnMapping = fieldColumnMapping;
}
public String getInsertSql() {
return insertSql;
}
public void setInsertSql(String insertSql) {
this.insertSql = insertSql;
}
public String getUpdateSql() {
return updateSql;
}
public void setUpdateSql(String updateSql) {
this.updateSql = updateSql;
}
public String getDeleteSql() {
return deleteSql;
}
public void setDeleteSql(String deleteSql) {
this.deleteSql = deleteSql;
}
public String getSelectSql() {
return selectSql;
}
public void setSelectSql(String selectSql) {
this.selectSql = selectSql;
}
public boolean isCacheEnable() {
return cacheEnable;
}
public void setCacheEnable(boolean cacheEnable) {
this.cacheEnable = cacheEnable;
}
public String getCacheRegion() {
return cacheRegion;
}
public void setCacheRegion(String cacheRegion) {
this.cacheRegion = cacheRegion;
}
public void addFieldColumnMapping(String field, String column) {
this.fieldColumnMapping.put(field, column);
}
public String toString() {
return ToStringBuilder.reflectionToString(this,
ToStringStyle.MULTI_LINE_STYLE);
}
}