OrmLite注解【稍微詳細】

注解是特殊的代碼標志已在Java版本開始,要指定什么類和字段存儲在數據庫中,ORMLite支持其自己的注解(@ DatabaseTable @ DatabaseField)或更多的標準注解從javax.persistence包。注解是最簡單的方法來配置你的類,但你也可以使用Java代碼或Spring的XML配置類 。以下是注解的詳細介紹:


@ DatabaseTable注解可以有一個可選的TableName的參數指定類對應的表的名稱。如果沒有指定表名的情況下,默認情況下使用類名作為對應的表名。例如:

@DatabaseTable(tableName = "accounts")

public class Account {...}????像這樣的話,Account類對應的表名就是accounts,如果不指定則為account。



@ DatabaseField注解可以有以下字段:

columnName 列名,未指定時為字段名

dataType DataType類的類型的字段。通常的類型是從Java類的領域,并不需要指定。

defaultValue 默認值

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 為了防止無限遞歸或者無限循環(huán)時 需要用到該屬性設置自動刷新的最高級別

allowGeneratedIdInsert 插入一個ID字段是否覆蓋它生成的ID的對象 默認為false

columnDefinition 定義列,默認情況下,數據庫類型是用于自動生成所需的SQL來創(chuàng)建列,所以該屬性并不常用

foreignAutoCreate 在插入一個有外鍵對象的對象時,是否自動插入這個外鍵對象

version 行版本 當一個對象被更新,以防止數據損壞多個實體時更新在同一時間進行的保護

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容