2011-12-21 26 views

Trả lời

15

tôi tin rằng các bản đồ chính xác sẽ là:

@Entity 
public class Folder { 

    @Id 
    @Column(name="PK_FOLDER") 
    private int id; 

    @Column(name="NAME") 
    private String name; 

    @ManyToOne 
    @JoinColumn(name="FK_PARENT_FOLDER") 
    public Folder parentFolder; 

    @OneToMany(mappedBy="parentFolder") 
    public List<Folder> subFolders = new ArrayList<Folder>(); 

} 

Các @OneToOne sẽ chỉ làm việc nếu mỗi phụ huynh có ít nhất một con, các mã trên làm việc đối với trường hợp tổng quát hơn, khi cha mẹ có thể có nhiều trẻ em . Ngoài ra, tôi bỏ qua các phương thức get/set vì mục đích đơn giản.

+0

Điều này có vẻ khá tốt, ngoại trừ việc nó phải là một 'Set <>', không phải là một 'List <>'. –

+2

Cả hai Bộ sưu tập đều tốt, Danh sách có thể được sử dụng để duy trì thứ tự chèn, một Bộ để thực thi tính duy nhất - nó thực sự phụ thuộc vào trường hợp cụ thể, vì cả hai đều hợp lệ và đặc tả không thực thi việc sử dụng cái kia. Trên thực tế, nhiều trình tạo mã để ánh xạ JPA mặc định sử dụng ArrayLists cho mối quan hệ @OneToMany. –

+0

hi, Khi tôi cháy danh sách tất cả các truy vấn. Nó đi vào vòng lặp vô hạn. Bạn có thể hướng dẫn tôi không? –

Các vấn đề liên quan