greenDAO3.1框架(三)常用注解

类注解

  • @Entity 标记了一个Java类作为一个greenDAO实体
1
2
3
4
@Entity
public class Test {
...
}

基本属性注解

  • @Id 必须是long类型,在数据库作为主键,参数autoincrement是否自增
1
2
@Id(autoincrement = true)
private Long id;
  • @Property 指定改字段的列名,如果不指定将使用默认值(eg:customName对应数据库列名为CUSTOM_NAME)
1
2
@Property(nameInDb = "USER_NAME")
private String customName;
  • @Transient 这个属性将不会作为数据表中的一个字段
1
2
@Transient
private int tempUsageCount;
  • @NotNull 该字段不能为null(作用于long, int, short, byte类型)
1
2
@NotNull
private int repos;
  • @Index 索引(unique唯一)
1
2
@Index(unique = true)
private String name;
  • @Unique 添加唯一键(隐含为其创建了一个索引)
1
@Unique private String name;

问题

知识点:int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象
问题描述:在实体类用int等基本类型,默认不标记注解,在建数据库也会全部设置NOT NULL
解决:因此需要在实体类里写对象类型。
2016-11-29 16:18:24 发现使用中文字段名默认生成为ANSI,出现乱码,尽量使用因为的字段别名