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

com.github.jingshouyan.jdbc.comm.annotaion.Column Maven / Gradle / Ivy

package com.github.jingshouyan.jdbc.comm.annotaion;

import com.github.jingshouyan.jdbc.comm.Constant;
import com.github.jingshouyan.jdbc.comm.bean.EncryptType;

import java.lang.annotation.*;

/**
 * @author jingshouyan
 * 11/22/18 4:48 PM
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Column {
    /**
     * @return 列名
     */
    String value() default "";

    /**
     * @return 是否为不可变字段, 更新时不会更新该字段.
     */
    boolean immutable() default false;

    /**
     * @return id更新时作为条件, 主要用作sharding路由.
     */
    boolean router() default false;

    /**
     * @return 字段长度
     */
    int length() default Constant.COLUMN_LENGTH_DEFAULT;

    /**
     * @return json 格式存储
     */
    boolean json() default false;

    /**
     * @return 是否需要加密 默认否
     */
    EncryptType encryptType() default EncryptType.NONE;

    /**
     * @return 加密密钥
     */
    String encryptKey() default "";

    /**
     * @return 默认值
     */
    String defaultData() default "";

    /**
     * @return 备注
     */
    String comment() default "";

    /**
     * @return 列排序
     */
    int order() default Constant.COLUMN_ORDER_DEFAULT;

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy