hibernate - 使用注释与属性的多对多关系

标签 hibernate jpa annotations many-to-many

enter image description here

我想知道如何创建带有注释@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 放在这个注释中。这可能吗?

最佳答案

我放弃了,我使用了中介。我只是按照本教程进行操作,效果很好。

http://www.mkyong.com/hibernate/hibernate-many-to-many-example-join-table-extra-column-annotation/

关于hibernate - 使用注释与属性的多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18453298/

相关文章:

mysql - 使用 Spring MVC 连接数据库的最佳方式

java - Spring Boot Hibernate 没有事务正在进行

java - Hibernate:更新一个对象 -> 也执行不需要的删除语句

Java JAX-RS 名称绑定(bind)不工作

java - getAnnotations() 为空

java - Spring JPA deleteInBatch 导致 StackOverflow

java - 加入获取嵌套在 @OneToMany 中的 @ManyToOne

java - 使用 JPA 坚持时覆盖的字段

java - 在jpa多对多中合并连接表中的额外列

java - 实现 java.lang.reflect.Proxy 的注释背后的基本原理是什么?