panda.dao.entity.annotation.Column Maven / Gradle / Ivy
package panda.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;
/**
* 声明一个 Java 字段是否有对应的数据库字段
*
* 如果数据库字段名同 JAVA 字段名不一样,通过这个注解可以进行特殊标注:
*
*
* @Column("数据库字段名")
*
*
* 需要说明的是:
*
* -
* 如果你的 POJO 没有任何一个字段 声明了这个注解,那么所有的 Java 字段都会被认为是数据库字段。
*
- 声明了 '@Id' or '@PK' 的字段没必要声明这个注解。
*
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
@Documented
public @interface Column {
/**
* column name
*/
String value() default "";
/**
* jdbc type
* @see panda.dao.DaoTypes
*/
String type() default "";
int size() default 0;
int scale() default 0;
boolean notNull() default false;
boolean unsigned() default false;
/**
* native database column type
*/
String nativeType() default "";
/**
* database default value
*/
String defaults() default "";
}