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

org.nutz.dao.entity.annotation.ColDefine Maven / Gradle / Ivy

Go to download

Nutz, which is a collections of lightweight frameworks, each of them can be used independently

There is a newer version: 1.r.72
Show newest version
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;

import org.nutz.dao.jdbc.ValueAdaptor;

/**
 * 给出字段的更加精确的数据库类型描述,方便 Dao 创建数据表
 * 
 * @author zozoh([email protected])
 * @author wendal([email protected])
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
@Documented
public @interface ColDefine {

	/**
	 * 数据库字段类型
	 * 
	 * @see org.nutz.dao.entity.annotation.ColType
	 */
	ColType type() default ColType.AUTO;

	/**
	 * 宽度/长度, 例如定义字符串长度为1024 就写  width=1024
	 */
	int width() default 0;

	/**
	 * 精度,小数点后多少位,默认是2
	 */
	int precision() default 2;

	/**
	 * 是否为非空,默认为false
	 */
	boolean notNull() default false;

	/**
	 * 是否为无符号数值,默认为false
	 */
	boolean unsigned() default false;

	/**
	 * 描述当前字段是否自增,如果和 @Id 冲突,以 @Id 的优先
	 */
	boolean auto() default false;

	/**
	 * 自定义数据库字段类型, 例如写  customType="image" 等, 然后请务必再设置type属性!!
	 * @return 自定义数据类型,可以任意合法的类型声明,仅用于建表
	 */
	String customType() default "";

	/**
	 * 描述当前字段是否可插入
	 */
	boolean insert() default true;

	/**
	 * 描述当前字段是否可更新
	 */
	boolean update() default true;
	
	/**
	 * 自定义ValueAdaptor,定制一切类型的jdbc赋值或取值逻辑
	 */

	Class adaptor() default ValueAdaptor.class;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy