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.