Trong đậu POJO Java mã như vậy có thể có lợi, đặc biệt là với các bộ sưu tập:Có thực hành tốt để khởi tạo các trường bên trong trình thu thập thực thể JPA không?
class POJO {
private Collection<X> col;
public Collection<X> getCol() {
if (col == null)
col = new SomeCollection<X>();
return col;
}
}
Nó làm cho có thể cho các mã sử dụng POJO
gọi pojo.getCol().isEmpty()
mà không có một kiểm tra null bổ sung, do đó làm cho mã rõ ràng hơn.
Giả sử lớp POJO
là thực thể JPA, vẫn an toàn để làm điều đó? Bằng cách khởi tạo bộ sưu tập từ null thành rỗng, dữ liệu liên tục sẽ không bị thay đổi, nhưng vẫn còn, chúng ta đang sửa đổi đối tượng và do đó nhà cung cấp kiên trì có thể chạy một số tác dụng phụ khi xóa ngữ cảnh kiên trì. Chúng ta có nguy cơ gì? Tính di động có thể?
Cảm ơn, đó là những gì tôi đã tìm kiếm - một lời cảnh báo từ ai đó đã bị thiêu làm điều đó. Tôi có linh cảm rằng nó có thể sai, chỉ có tôi muốn chắc chắn rằng tôi không mơ hồ. – MaDa
chắc chắn. Chúng tôi đã mất 2 ngày để theo dõi nơi vật thể trở nên bẩn thỉu. Nó khá đau đớn. – digitaljoel