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

org.babyfish.jimmer.Scalar Maven / Gradle / Ivy

There is a newer version: 0.9.17
Show newest version
package org.babyfish.jimmer;

import kotlin.annotation.AnnotationTarget;

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

/**
 * Generally speaking, this annotation does not need to be used,
 * and the scalar property does not need to be explicitly stated.
 *
 * If the property is of type `List<E>`, it will be treated as
 * special collection property whose element type must be Java class/interface.
 * For example, one-to-many and many-to-many associations, and their `@{@link org.babyfish.jimmer.sql.IdView}` properties.
 *
 * However, sometimes `List<E>` may be just a JSON field, and even nested structures can appear
 * (for example: `List<List<E>>`),
 * this is the need to explicitly use this annotation or any other annotation decorated by this annotation(eg: Serialized).
 */
@Retention(RetentionPolicy.RUNTIME)
@kotlin.annotation.Target(allowedTargets = AnnotationTarget.PROPERTY)
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.ANNOTATION_TYPE})
public @interface Scalar {
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy