@Documented @Target(value=TYPE) @Retention(value=RUNTIME) public @interface Entity
Entity
will be persisted fields in super or sub classes will not be
considered.Modifier and Type | Optional Element and Description |
---|---|
Class<?> |
builder |
boolean |
cacheable |
boolean |
copyable |
boolean |
extendable |
boolean |
immutable |
String |
model |
String |
name |
PropertyNameStyle |
propertyNameStyle
Defines the name style of properties in the target entity e.g.
|
boolean |
stateless |
public abstract String name
Table
attribute is specified with a different name.
Defaults to empty, the processor will remove "Abstract" prefix from the class name if it
exists.public abstract String model
public abstract Class<?> builder
immutable()
.
Note the builder class must have a zero-argument constructor that is either package visible
or public.public abstract boolean cacheable
public abstract boolean copyable
public abstract boolean extendable
public abstract boolean immutable
stateless()
is true.
Defaults to false however if this annotation is placed in conjunction with immutable type
annotations e.g. @AutoValue from Google on an object then defaults to true.public abstract boolean stateless
immutable()
in which case the value is true.public abstract PropertyNameStyle propertyNameStyle
PropertyNameStyle.BEAN
would map to:
getName() {...}
setName(String name) {...}
vs for PropertyNameStyle.NONE
:
name() {...}
name(String name) {...}