com.anwen.mongo.annotation.collection.CollectionField Maven / Gradle / Ivy
package com.anwen.mongo.annotation.collection;
import com.anwen.mongo.enums.FieldFill;
import java.lang.annotation.*;
/**
* 指定列名,不指定默认取属性名
* @author JiaChaoYang
* @date 2023/2/17 21:21
**/
@Target(ElementType.FIELD)
//运行时注解
@Retention(RetentionPolicy.RUNTIME)
//表明这个注解应该被 javadoc工具记录
//生成文档
@Documented
public @interface CollectionField {
/**
* 字段映射值
* @author JiaChaoYang
* @date 2023/8/20 2:45
*/
String value() default "";
/**
* 如果值时对象,接收字段是集合,可以使用此配置,会将对象自动转为集合,只存在这一个值
* 可以用来应对"unwind"等操作符的情况
* @author JiaChaoYang
* @date 2023/8/20 2:49
*/
boolean convertCollect() default false;
/**
* 是否为数据库表字段
* @author JiaChaoYang
* @date 2023/8/20 2:45
*/
boolean exist() default true;
/**
* 自动填充策略
* @author JiaChaoYang
* @date 2023/11/21 12:24
*/
FieldFill fill() default FieldFill.DEFAULT;
/**
* 类型处理器,必须实现{@link com.anwen.mongo.handlers.TypeHandler}接口
* @author anwen
* @date 2024/5/29 下午10:24
*/
Class> typeHandler() default Void.class;
}