package org.nutz.dao.entity.annotation;

import java.lang.annotation.ElementType;

import java.lang.annotation.Documented;
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>: 参考字段名，同 '@One' 不同，这个参考字段是 target 类中的字段。如果它为空串，则将映射目标实体全部记录
 * <li><b>key</b>: <i>[可选]</i> 如果本注解声明在一个 Map 字段上，这个参数指明了你的 POJO 哪个字段可以作为 key
 * </ul>
 * 
 * <h4 style=color:red>Can be Many:</h4>
 * <p>
 * <blockquote> 本注解是一个略微让人疑惑的名称，你可能会想，你声明 '@Many' 的字段必须是一个容器或者数组，其实，它也可以
 * 是一个单个对象。
 * <p>
 * 对于 Nutz.Dao来说，'@Many' 确切的意义是说： <b>Can be Many</b> <br>
 * 所以,你可以当然这么写：
 * 
 * <pre>
 * &#064;Many(target = Pet.class, field = &quot;id&quot;)
 * private Pet pet;
 * </pre>
 * 
 * </blockquote>
 * 
 * @author zozoh(zozohtnt@gmail.com)
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
@Documented
public @interface Many {

	Class<?> target();

	String field();

	String key() default "";

}

@@ -248,17 +248,17 @@
 %0A * %E5%A3%B0%E6%98%8E%E4%B8%80%E6%9D%A1
-%E5%A4%9A
+%E4%B8%80
 %E5%AF%B9%E5%A4%9A%E6%98%A0%E5%B0%84%EF%BC%8C%E8%BF%99%E4%B8%AA%E5%A3%B0

修正 API 的 JDoc 的错字