2013-08-26 47 views
6

enter image description herenhiều đối với nhiều mối quan hệ với các thuộc tính sử dụng chú thích

Tôi muốn biết làm thế nào để tạo ra các role_permission bảng với @ManyToMany chú thích có tính đến created_at thuộc tính trong role_permission bảng.

Tôi biết rằng tôi có thể làm một cái gì đó như thế này:

public class Role implements Serializable{ 

    @Id 
    @Column(name = "_id") 
    private String id; 

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

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

    @ManyToMany(cascade = {CascadeType.ALL}) 
    @JoinTable(name="role_permission", schema=joinColumns={@JoinColumn(name="idRole")}, inverseJoinColumns={@JoinColumn(name="idPermission")}) 
    private Set<Permission> permissions=new HashSet(); 

public class Permission implements Serializable{ 

    @Id 
    @Column(name = "_id") 
    private String id; 

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

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

    @ManyToMany(cascade = {CascadeType.ALL}) 
    @JoinTable(name="role_permission", schema=joinColumns={@JoinColumn(name="idPermission")}, inverseJoinColumns={@JoinColumn(name="idRole")}) 
    private Set<Permission> roles=new HashSet(); 

Với điều này tôi có thể tránh để tạo ra một lớp mới cho role_permission, nhưng tôi không biết làm thế nào để đưa created_at trong chú thích này. Điều này có thể không?

+0

http://stackoverflow.com/questions/10294338/many-to-many-hibernate-mapping-for-additional-property-in-the-join-table/10301484#10301484 http://stackoverflow.com/questions/4751902/adding-additional-property-to-hibernate-jointable –

+1

liên kết đầu tiên sử dụng trung gian và tôi muốn tránh điều này và thứ hai không rõ ràng và sử dụng hashmap, nếu tôi muốn nhiều hơn thuộc tính trong bảng role_permission ?. Có sự lựa chọn nào khác không? – kiduxa

+0

Không ai mà tôi biết. Nếu ai đó biết các giải pháp thay thế sẽ trả lời/bình luận. IMHO, đôi khi, giải pháp tốt nhất là giải pháp tôi có thể hiểu, quản lý và sửa đổi mà không gặp sự cố –

Trả lời

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