package org.nutz.dao.entity.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 给出字段的更加精确的数据库类型描述,方便 Dao 创建数据表
*
* @author zozoh(zozohtnt@gmail.com)
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
@Documented
public @interface ColDefine {
/**
* 数据库字段类型
*
* @see org.nutz.dao.entity.annotation.ColType
*/
ColType type() default ColType.VARCHAR;
int width() default 0;
int precision() default 2;
boolean notNull() default false;
boolean unsigned() default false;
/**
* 描述当前字段是否自增,如果和 @Id 冲突,以 @Id 的优先
*/
boolean auto() default false;
String customType() default "";
/**
* 描述当前字段是否可插入
*/
boolean insert() default true;
/**
* 描述当前字段是否可更新
*/
boolean update() default true;
}