Рассмотрим эту небольшую базу данных Room:
@Entity
public class User {
@PrimaryKey
public int uid;
}
@Dao
public interface UserDao {
@Query("SELECT * FROM user WHERE uid == :uid")
User get(int uid);
}
Какое возвращаемое значение UserDao.get
для uid
, которого нет в базе данных? Могу ли я надежно проверить, что нет пользователя с заданным uid
? Вот так:
if (userDao.get(17) == null) {
Или это не рекомендуется делать запросы к базе данных таким образом? Должен ли я всегда возвращать список, даже для запросов, которые могут возвращать не более одной строки базы данных? Таким образом, UserDao
должно выглядеть так:
@Dao
public interface UserDao {
@Query("SELECT * FROM user WHERE uid == :uid")
List<User> get(int uid);
}