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

org.nutz.dao.entity.annotation.Id Maven / Gradle / Ivy

Go to download

Nutz, which is a collections of lightweight frameworks, each of them can be used independently

There is a newer version: 1.r.72
Show newest version
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;

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

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

自动增长 -- 默认模式

*

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

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

手动模式

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy