Tôi đang sử dụng ormlite trong android và đã tạo bảng thành công và thực hiện các thao tác khác nhau bằng DAO.Cách thực hiện xóa thác trên khóa ngoài bằng cách sử dụng ormlite trong android
Nhưng tôi đã bị kẹt trong việc xóa hàng phím ngoài nếu khóa chính bị xóa khỏi bảng chính.
Tôi có hai bảng có tên là Cha mẹ và con. Một phụ huynh có nhiều hơn một đứa con nên tôi liên kết đứa trẻ với khóa ngoại.
Code:
bảng phụ huynh:
@DatabaseField(id = true)
private Integer id;
@ForeignCollectionField(eager = false)
private ForeignCollection<Child> childCollection;
Child Bảng:
@DatabaseField(id = true)
private Integer id;
@DatabaseField(foreign = true, foreignAutoRefresh = true, canBeNull = false,
index = true, columnDefinition = "INTEGER REFERENCES parent(id) ON DELETE CASCADE")
private Parent parent;
Bây giờ Nếu tôi xóa hàng mẹ cho một id đặc biệt thì đây không xóa các trẻ em từ bảng con.
public void deleteById(Integer parentId) {
try {
Dao<Parent, Integer> parentDao = databaseHelper.getParentDao();
parentDao .deleteById(parentId);
} catch (SQLException e) {
e.printStackTrace();
}
}
Vui lòng hướng dẫn tôi, nơi tôi đang làm sai. Tôi đã thử và Google nhiều lần nhưng không may mắn.
StackOverflow không phải là diễn đàn, câu trả lời mới được chào đón :) – m0skit0