Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Android Room - Xử lý danh sách các đối tượng trong một đối tượng và kết quả truy vấn

Room không hỗ trợ điều này trực tiếp do một số các vấn đề tiềm ẩn với tải chậm , nhưng với một số thủ thuật DAO thì điều đó có thể xảy ra. Bạn sẽ cần xử lý các phần chèn một cách rõ ràng và để truy vấn mọi thứ ngay lập tức, bạn sẽ cần một POJO để kết thúc tất cả.

@Entity(foreignKeys = {
    @ForeignKey(
            entity = PersonEntity.class,
            parentColumns = "personId",
            childColumns = "personIdFk",
            onDelete = CASCADE
    )
})
public class Pet {
    @PrimaryKey
    private String petId;
    private String name;
    private String personIdFk;
}

@Entity(tableName = "person")
public class PersonEntity {
    @PrimaryKey
    private String personId;
}

public class Person {
    @Embedded
    private PersonEntity personEntity;
    @Relation(parentColumn = "personId", entityColumn = "personIdFk")
    private List<Pet> pets;
}

@Dao
public abstract class PersonDao {

    @Insert
    protected abstract void insert(PersonEntity personEntity);

    @Insert
    protected abstract void insert(List<Pet> pets);

    @Transaction
    public void insert(Person person) {
        insert(person.getEntity());
        insert(person.getPets());
    }

    @Query("SELECT * FROM person")
    public abstract List<Person> getAll();

}

@Database(entities = {PersonEntity.class, Pet.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {

    public abstract PersonDao personDao();

}

Bộ tạo, bộ lấy và bộ định tuyến được bỏ qua cho ngắn gọn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi ngoại lệ Java - Sqlite readyStatement.setBlob

  2. Có cách nào để lấy id được chèn lần cuối của một cột KHÔNG tăng tự động trong MySQL không?

  3. Chèn hàng PHP / MySQL rồi nhận 'id'

  4. MYSQL vào quyền truy cập outfile bị từ chối - nhưng người dùng của tôi có TẤT CẢ quyền truy cập .. và thư mục là CHMOD 777

  5. Tạo một thủ tục được lưu trữ:thiết lập bộ ký tự và đối chiếu