PrimaryKey
public abstract @interface PrimaryKey
implements Annotation
android.arch.persistence.room.PrimaryKey |
Marks a field in an Entity
as the primary key.
If you would like to define a composite primary key, you should use primaryKeys()
method.
Each Entity
must declare a primary key unless one of its super classes declares a primary key. If both an Entity
and its super class defines a PrimaryKey
, the child's PrimaryKey
definition will override the parent's PrimaryKey
.
If PrimaryKey
annotation is used on a Embedded
d field, all columns inherited from that embedded field becomes the composite primary key (including its grand children fields).
Summary
Public methods |
|
---|---|
boolean |
autoGenerate() Set to true to let SQLite generate the unique id. |
Inherited methods |
|
---|---|
Public methods
autoGenerate
boolean autoGenerate ()
Set to true to let SQLite generate the unique id.
When set to true
, the SQLite type affinity for the field should be INTEGER
.
If the field type is long
or int
(or its TypeConverter converts it to a long
or int
), Insert
methods treat 0
as not-set while inserting the item.
If the field's type is Integer
or Long
(or its TypeConverter converts it to an Integer
or a Long
), Insert
methods treat null
as not-set while inserting the item.
Returns | |
---|---|
boolean |
Whether the primary key should be auto-generated by SQLite or not. Defaults to false. |
Annotations
Classes
Enums
Exceptions