ตาม https://developer.android.com/training/data-storage/room/relationships
เราสามารถมีความสัมพันธ์แบบหนึ่งต่อกลุ่มได้
public class UserWithPlaylists {
@Embedded public User user;
@Relation(
parentColumn = "userId",
entityColumn = "userCreatorId"
)
public List<Playlist> playlists;
}
@Transaction
@Query("SELECT * FROM User")
public List<UserWithPlaylists> getUsersWithPlaylists();
ในเอนทิตี User
และ Playlist
เราได้เพิ่มคอลัมน์ชื่อ sort_key
จุดประสงค์คือเมื่อเราทำการสืบค้นเราสามารถทำสิ่งต่อไปนี้ได้
@Transaction
@Query("SELECT * FROM User order by sort_key")
public List<UserWithPlaylists> getUsersWithPlaylists();
เราสามารถควบคุมลำดับของ List<UserWithPlaylists>
ได้
แต่แล้วเอนทิตีลูก List<Playlist> playlists
ล่ะ?
เราจะกำหนดการสืบค้นแบบกำหนดเองสำหรับเอนทิตีลูก Playlist
เพื่อให้เราสามารถควบคุมการสั่งซื้อ List<Playlist> playlists
ได้อย่างไร