Insert

@Target([AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER]) class Insert
androidx.room.Insert

Marks a method in a Dao annotated class as an insert method.

The implementation of the method will insert its parameters into the database.

All of the parameters of the Insert method must either be classes annotated with Entity or collections/array of it.

Example:

 @Dao public interface MyDao { @Insert(onConflict = OnConflictStrategy.REPLACE) public void insertUsers(User... users); @Insert public void insertBoth(User user1, User user2); @Insert public void insertWithFriends(User user, List<User> friends); } 

Summary

Public constructors
<init>(onConflict: Int)

Marks a method in a Dao annotated class as an insert method.

Properties
Int

What to do if a conflict happens.

Public constructors

<init>

Insert(onConflict: Int)

Marks a method in a Dao annotated class as an insert method.

The implementation of the method will insert its parameters into the database.

All of the parameters of the Insert method must either be classes annotated with Entity or collections/array of it.

Example:

 @Dao public interface MyDao { @Insert(onConflict = OnConflictStrategy.REPLACE) public void insertUsers(User... users); @Insert public void insertBoth(User user1, User user2); @Insert public void insertWithFriends(User user, List<User> friends); } 

See Also

Properties

onConflict

val onConflict: Int

What to do if a conflict happens.

Use OnConflictStrategy#ABORT (default) to roll back the transaction on conflict. Use OnConflictStrategy#REPLACE to replace the existing rows with the new rows. Use OnConflictStrategy#IGNORE to keep the existing rows.

Return
Int: How to handle conflicts. Defaults to OnConflictStrategy#ABORT.