1

嗨,这是我的表结构两个表角色和组件。

  +----------------+
    | role           |
    +----------------+
    | role_id : PK |
    | role_name    |
    | role_desc    |
    +----------------+
          |
    +----------------+
    | component      |
    +----------------+
    | comp_id : PK |
    | role_id : FK |
    | parent_comp  |
    | view_per     |
    | add_per      |
    | edit_per     |
    | delete_per   |
    +----------------+

这些是 bean 类

   package com.example.rolessample;

    public class component {
        private String comp_id;
        private String role_id;
        private String parent_comp;
        private char view_per;
        private char add_per;
        private char edit_per;
        private char delete_per;
    }
package com.example.rolessample;

public class role {

    private String role_id;
    private String role_name;
    private String role_desc;
}

我需要在我的 bean 类中添加什么?

我看过这个例子,但我不知道如何将它应用到我的例子中。

如何在没有 JoinTables 的 JPA 中创建一对多关系?

提前致谢 。

4

2 回答 2

1

如果您不需要实体中的双向关系 - 您只需将“组件”类中的“role_id”字段更改为以下内容:

@javax.persistence.ManyToOne
private role role;

请注意,在这种情况下,“角色”将拥有关系,“组件”将是反向(非拥有)“边”。

如果您还需要双向关系,则必须将带有 @javax.persistence.OneToMany 注释的字段与指定的“mappedBy”添加到“角色”类。

另请查看有关该注释的其他弱点的文档以进行更多控制。

于 2013-05-16T07:40:52.003 回答
1

像这样的东西:

 package com.example.rolessample;
    @Entity
    public class component {
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE)
        private Integer comp_id;
        @ManyToOne
        @JoinColumn(name="role_id")
        private role role_c
        private String parent_comp;
        private char view_per;
        private char add_per;
        private char edit_per;
        private char delete_per;
    }

package com.example.rolessample;
@Entity
public class role {
    @Id
    @GenerValue(strategy = GenerationType.SEQUENCE)
    private Integer role_id;
    private String role_name;
    private String role_desc;
    @OneToMany (mappedBy = "role_c")
    private List <component> component_r
}
于 2013-05-16T19:04:15.163 回答