mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
44 lines
1.0 KiB
Java
44 lines
1.0 KiB
Java
package com.avaje.ebean.annotation;
|
|
|
|
import java.lang.annotation.ElementType;
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
import java.lang.annotation.Target;
|
|
|
|
/**
|
|
* Specify a method on an Enum that returns the value that should be stored in the DB.
|
|
* <p>
|
|
* This is the preferred option for mapping Enum's to DB values (preferred over the JPA
|
|
* standard @Enumerated and Ebean's @EnumValue annotations).
|
|
* </p>
|
|
* <h3>Example:</h3>
|
|
* <pre>{@code
|
|
*
|
|
* public enum Status {
|
|
* NEW("N"),
|
|
* ACTIVE("A"),
|
|
* INACTIVE("I");
|
|
*
|
|
* String dbValue;
|
|
* Status(String dbValue) {
|
|
* this.dbValue = dbValue;
|
|
* }
|
|
*
|
|
* @DbEnumValue
|
|
* public String getValue() {
|
|
* return dbValue;
|
|
* }
|
|
* }
|
|
*
|
|
* }</pre>
|
|
*/
|
|
@Retention(RetentionPolicy.RUNTIME)
|
|
@Target(ElementType.METHOD)
|
|
public @interface DbEnumValue {
|
|
|
|
/**
|
|
* Specify the database type used to store the values (VARCHAR or INTEGER).
|
|
*/
|
|
DbEnumType storage() default DbEnumType.VARCHAR;
|
|
|
|
} |