
@DatabaseTable注解可以有一个可选的TableName的参数指定类对应的表的名称。如果没有指定表名的情况下,默认情况下使用类名作为对应的表名。
例如:
@DatabaseTable (tableName = "accounts") Public class Account {...} 像这样的话,Account类对应的表名就是accounts,如果不指定则为account。
@DatabaseField注解可以有以下字段: columnName:列名,未指定时为字段名。 defaultValue:默认值。 dataType:指定字段的类型。 width:宽度,默认是0,表示不限。 canBeNull:是否允许为空,默认为true。 id:主键,默认为false。
generatedId:自增长的主键,默认值是false。
generatedIdSequence:字符串名称的序列号,类同generatedId,但您可以指定序列的名称使用,默认为null。
foreign:外键,默认为false,字段不能是一个原始类型。在外键对象的类中,必须要有一个ID字段(ID, generatedId,generatedIdSequence)。
useGetSet:应用get和set方法访问,默认为false。 unknownEnumName:表示该字段是一个Java的枚举类型。 throwIfNull:如果为空值,抛出一个异常 默认为false。
persisted:是否在数据库中存储这个领域 默认为true。 format:指定某一特定领域的信息格式,如指定日期字符串的格式 unique:唯一约束,默认为false。
uniqueCombo:唯一行,该行内所有字段成为一个唯一约束,如有firstName和lastName两个字段,为"张"和"梅",那么该表内不可再插入"张","梅",但你可插入"张","全梅"。 Index:是否建立索引 默认为false。 uniqueIndex:唯一索引 默认为false。 indexName:为这一领域的索引添加一个名字。
uniqueIndexName:为这一领域的索引添加一个唯一的名字。 foreignAutoRefresh:当查询到一个外键对象时,是否自动刷新 如 Order表中有Account外键对象,当返回Order的记录时是否也返回Account的记录,默认为false。
maxForeignAutoRefreshLevel:为了防止无限递归或者无限循环时 需要用到该属性设置自动刷新的最高级别。
allowGeneratedIdInsert:插入一个ID字段是否覆盖它生成的ID的对象 默认为false。
columnDefinition:定义列,默认情况下,数据库类型是用于自动生成所需的SQL来创建列,所以该属性并不常用。
foreignAutoCreate:在插入一个有外键对象的对象时,是否自动插入这个外键对象。
Version:行版本,当一个对象被更新,以防止数据损坏多个实体时更新在同一时间进行的保护。
网友评论