All Downloads are FREE. Search and download functionalities are using the official Maven repository.

panda.dao.entity.annotation.Id Maven / Gradle / Ivy

Go to download

Panda Core is the core module of Panda Framework, it contains commonly used utility classes similar to apache-commons.

There is a newer version: 1.8.0
Show newest version
package panda.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;

/**
 * 标识当前字段为一个 ID。 这字段的必须为整型(int,long,short,byte),否则 会在解析 POJO 时主动抛出异常。
 * 

* 在 Dao 接口调用 xxxx(Class, long) 形式的函数时,第二个参数对应的就是这个字段,比如:
* fetch(Class,long) * *

自动增长 -- 默认模式

*

* 默认的来说,这个字段在数据库中必须是自动增长的。当通过 Dao 接口执行 insert 操作 的时候,这个字段会被 自动填充上增长后的值。 *

* 在自增长模式下, Dao 在执行插入的时候,会忽略这个字段。如果你想在插入后获取数据库中的值,请 使用 '@Post' 注解 * *

手动模式

* 有些时候,你希望这个 ID 的值是由你的程序来控制,你可以将 auto 属性设为 false * *
 * @Id(auto = false)
 * private int id;
 * 
* * 这样,插入的时候,Dao 就不会忽略这个字段了。 * * @see panda.dao.entity.annotation.Post */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD, ElementType.METHOD}) @Documented public @interface Id { /** * true : auto increase */ boolean auto() default true; /** * start number */ int start() default 1; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy