001package com.avaje.ebean.annotation;
002
003import java.lang.annotation.ElementType;
004import java.lang.annotation.Retention;
005import java.lang.annotation.RetentionPolicy;
006import java.lang.annotation.Target;
007
008/**
009 * Specify property name to db column mapping for Embedded beans.
010 * <p>
011 * This is designed to be easier to use than the AttributeOverride annotation in
012 * standard JPA.
013 * </p>
014 */
015@Target({ ElementType.FIELD, ElementType.METHOD })
016@Retention(RetentionPolicy.RUNTIME)
017public @interface EmbeddedColumns {
018
019  /**
020   * A list of property names mapped to DB columns.
021   * <p>
022   * For example <code>currency=IN_CURR, amount=IN_AMOUNT</code>
023   * </p>
024   * <p>
025   * Where currency and amount are properties and IN_CURR and IN_AMOUNT are the
026   * respective DB columns these properties will be mapped to.
027   * </p>
028   */
029  String columns() default "";
030
031}