【发布时间】:2013-08-29 11:37:08
【问题描述】:
我想知道如何使用注释@ManyToMany 创建表role_permission,同时考虑到表role_permission 中的created_at 属性。
我知道我可以这样做:
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();
这样我可以避免为 role_permission 创建一个新类,但我不知道如何将 created_at 放在这个注释中。这可能吗?
【问题讨论】:
-
第一个链接使用中介,我想避免这种情况,第二个不太清楚并使用哈希图,如果我想要表 role_permission 中的更多属性怎么办?还有其他选择吗?
-
我不知道。如果有人知道替代解决方案将回答/评论。恕我直言,有时,最好的解决方案是我可以轻松理解、管理和修改的解决方案
标签: hibernate jpa annotations many-to-many