Пример #1
0
 /**
  * 给字段添加数据库备注
  *
  * @param field
  * @param introspectedTable
  * @param introspectedColumn
  */
 public void addFieldComment(
     Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
   if (StringUtility.stringHasValue(introspectedColumn.getRemarks())) {
     field.addJavaDocLine("/**");
     StringBuilder sb = new StringBuilder();
     sb.append(" * ");
     sb.append(introspectedColumn.getRemarks());
     field.addJavaDocLine(sb.toString());
     field.addJavaDocLine(" */");
   }
   // 添加注解
   if (field.isTransient()) {
     // @Column
     field.addAnnotation("@Transient");
   }
   for (IntrospectedColumn column : introspectedTable.getPrimaryKeyColumns()) {
     if (introspectedColumn == column) {
       field.addAnnotation("@Id");
       break;
     }
   }
   String column = introspectedColumn.getActualColumnName();
   if (StringUtility.stringContainsSpace(column)
       || introspectedTable.getTableConfiguration().isAllColumnDelimitingEnabled()) {
     column =
         introspectedColumn.getContext().getBeginningDelimiter()
             + column
             + introspectedColumn.getContext().getEndingDelimiter();
   }
   if (!column.equals(introspectedColumn.getJavaProperty())) {
     // @Column
     field.addAnnotation("@Column(name = \"" + column + "\")");
   }
   if (introspectedColumn.isIdentity()) {
     if (introspectedTable
         .getTableConfiguration()
         .getGeneratedKey()
         .getRuntimeSqlStatement()
         .equals("JDBC")) {
       field.addAnnotation("@GeneratedValue(generator = \"JDBC\")");
     } else {
       field.addAnnotation("@GeneratedValue(strategy = GenerationType.IDENTITY)");
     }
   } else if (introspectedColumn.isSequenceColumn()) {
     field.addAnnotation(
         "@SequenceGenerator(name=\"\",sequenceName=\""
             + introspectedTable.getTableConfiguration().getGeneratedKey().getRuntimeSqlStatement()
             + "\")");
   }
 }