diff --git a/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/Dictionary.java b/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/Dictionary.java
index bf97839..5702f72 100644
--- a/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/Dictionary.java
+++ b/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/Dictionary.java
@@ -5,7 +5,6 @@
 import javax.persistence.Table;
 
 import com.supwisdom.leaveschool.common.domain.ABaseDomain;
-
 /**
  * 字典类
  * @author Administrator
@@ -13,6 +12,7 @@
  */
 @Entity
 @Table(name = "TB_B_DICTIONARY")
+@org.hibernate.annotations.Table(appliesTo = "TB_B_DICTIONARY",comment="字典表")
 public class Dictionary extends ABaseDomain {
 
  
@@ -22,29 +22,29 @@
 	 */
 	private static final long serialVersionUID = -7355785282419690119L;
 
-	/**
-	   * 类型码
+	  /**
+	   * 字典代码
 	   */
-	  @Column(name = "CODE", unique = true)
+	  @Column(name = "CODE", unique = true,columnDefinition="varchar(120) not null comment '字典代码'")
 	  private String code;
 	  
 	  /**
 	   * 名称
 	   */
-	  @Column(name = "NAME")
+	  @Column(name = "NAME",columnDefinition="varchar(200) not null comment '名称'")
 	  private String name;
 	
 	  /**
 	   * 是否可用
 	   * 1 可用，0 不可用，默认：1
 	   */
-	  @Column(name = "ENABLED")
+	  @Column(name = "ENABLED",columnDefinition="int(11) default 1 comment '是否可用'")
 	  private boolean enabled = true;
 	  
 	  /**
 	   * 排序
 	   */
-	  @Column(name = "SORT")
+	  @Column(name = "SORT",columnDefinition="int(11) comment '排序'")
 	  private Integer sort;
 	  
 	  /**
diff --git a/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/DictionaryType.java b/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/DictionaryType.java
index 3b4ea35..0361df8 100644
--- a/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/DictionaryType.java
+++ b/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/DictionaryType.java
@@ -25,20 +25,27 @@
 	/**
 	   * 类型码
 	   */
-	  @Column(name = "CODE", unique = true)
+	 @Column(name = "CODE", unique = true,columnDefinition="varchar(120) not null comment '类型码'")
 	  private String code;
 	  
 	  /**
 	   * 名称
 	   */
-	  @Column(name = "NAME")
+	  @Column(name = "NAME",columnDefinition="varchar(200) not null comment '名称'")
 	  private String name;
 	
 	  /**
-	   * 是否可用，1 可用，0 不可用，默认：1
+	   * 是否可用
+	   * 1 可用，0 不可用，默认：1
 	   */
-	  @Column(name = "ENABLED")
+	  @Column(name = "ENABLED",columnDefinition="int(11) default 1 comment '是否可用'")
 	  private boolean enabled = true;
+	  
+	  /**
+	   * 排序
+	   */
+	  @Column(name = "SORT",columnDefinition="int(11) comment '排序'")
+	  private Integer sort;
 	
 	public String getCode() {
 		return code;
diff --git a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/domain/ABaseDomain.java b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/domain/ABaseDomain.java
index 2c01d9a..77403e0 100644
--- a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/domain/ABaseDomain.java
+++ b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/domain/ABaseDomain.java
@@ -9,6 +9,8 @@
 import javax.persistence.MappedSuperclass;
 
 import org.hibernate.annotations.GenericGenerator;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.annotation.LastModifiedDate;
 
 @MappedSuperclass
 public abstract class ABaseDomain implements Serializable {
@@ -40,35 +42,37 @@
   }
 
   //@ApiModelProperty(value = "CompanyID", required = true, example = "1")
-  @Column(name = "COMPANY_ID")
+  @Column(name = "COMPANY_ID",columnDefinition="varchar(200) comment ''")
   private String companyId = null;
 
   //@ApiModelProperty(value = "是否删除", hidden = true, example = "false")
-  @Column(name = "DELETED")
+  @Column(name = "DELETED",columnDefinition="int(1) default 1 comment '是否删除  0：有效  1：删除'")
   private Boolean deleted = false;
 
   //@ApiModelProperty(value = "创建人", hidden = true)
-  @Column(name = "ADD_ACCOUNT")
+  @Column(name = "ADD_ACCOUNT",columnDefinition="varchar(100) comment '创建人'")
   private String addAccount = null;
 
   //@ApiModelProperty(value = "创建时间", hidden = true)
-  @Column(name = "ADD_TIME")
+  @Column(name = "ADD_TIME",columnDefinition="datetime comment '创建时间'")
+  @CreatedDate
   private Date addTime = null;
 
   //@ApiModelProperty(value = "修改人", hidden = true)
-  @Column(name = "EDIT_ACCOUNT")
+  @Column(name = "EDIT_ACCOUNT",columnDefinition="varchar(100) comment '修改人'")
   private String editAccount = null;
 
   //@ApiModelProperty(value = "修改时间", hidden = true)
-  @Column(name = "EDIT_TIME")
+  @Column(name = "EDIT_TIME",columnDefinition="datetime comment '修改时间'")
+  @LastModifiedDate
   private Date editTime = null;
 
   //@ApiModelProperty(value = "删除人", hidden = true)
-  @Column(name = "DELETE_ACCOUNT")
+  @Column(name = "DELETE_ACCOUNT",columnDefinition="varchar(100) comment '删除人'")
   private String deleteAccount = null;
 
   //@ApiModelProperty(value = "删除时间", hidden = true)
-  @Column(name = "DELETE_TIME")
+  @Column(name = "DELETE_TIME",columnDefinition="datetime comment '删除时间'")
   private Date deleteTime = null;
 
   public String getCompanyId() {
