Tôi đang sử dụng spring 3.0.6, jpa 2.0, hibernate 3.6.8. Câu hỏi của tôi là, trong đó tình huống là javassist được sử dụng để tạo "proxy" cho EntityClass? Và lý do của proxy này là gì? Tôi có Entity sau:Khi nào các Lớp học thực thể được nâng cao và làm gì? jpa, spring, hibernate, javassist
@Entity
public MyEntity{
..
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "adresseID")
private Adresse adresse;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "myEntity")
private List<Parameter> parameters;
..
}
Khi tôi tải một MyEntity từ db, lớp thực thể là một cái gì đó giống như MyEntity __ $$ _ Javassist. Tại sao nó được thực hiện? Để làm gì? Tôi nghĩ rằng chỉ MyEntity hạng bình thường có thể được sử dụng ở đây.
Để thực hiện tải lười biếng, chúng ta có thể:
- cho @OneToMany - PersistenceBag có thể được sử dụng ở đây
- cho @ManyToOne - đây nên được sử dụng "enchancedClass" như Adress_ $$ _javassist
Vì vậy, lý do để enchancing MyEntity là gì? Tôi có thể đọc thêm điều gì về nó? Bạn có thể giới thiệu sách/bài viết/blog nào cho tôi?