package org.nutz.dao.entity.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 在一个字段上声明一条一对一映射,这个声明需要你输入两个参数: * <ul> * <li><b>target</b>: 你的这个字段对应的实体类。通常,这个类得是你的字段的一个子类或者实现类。或者它能够顺利的通过 Nutz.castor * 转换成 你的字段 * <li><b>field</b>: 参考字段名,这个字段为对应对象的 Java 字段名称。 * </ul> * * @author zozoh(zozohtnt@gmail.com) */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD, ElementType.METHOD}) @Documented public @interface One { /** * 关联类 */ Class<?> target(); /** * 关联属性名 */ String field(); /** * 指定关联类的一个属性名,缺省情况下,按参考字段名{@link #field()}的类型选取@Id或者@Name等主键字段 */ String key() default ""; }