package com.pictc.annotations.datalog;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author 张福财
 * @date 2025年8月26日 上午9:37:45
 * @Description: 关联属性配置
 */
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface LogJoinColumn {
	
	/**
	 * @Description: 属性
	 * @return String 返回类型
	 */
	String field() default "";
	
	/**
	 * @Description: 关联属性
	 * @return String 返回类型
	 */
	String relatedField() default "";
	
	
	/**
	 * @Description: 赋值方向
	 * @return ValueDirectionType 返回类型
	 */
	ValueDirectionType valueDirection() default ValueDirectionType.LEFT;

	/**
	 * @Description: 关联值类型：JoinValueType：	FEILD【字段关联】、STATIC【字段等于静态值】
	 * @return String 返回类型
	 */
	JoinValueType valueType() default JoinValueType.FEILD;
	
	String staticValue() default "";
	
	Class<?> staticType() default String.class;

}
