嗨这是我的表结构两个表的角色和组件。
+----------------+
| 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类中吗?
我看过这个例子,但我不知道如何将它应用到我的例子中。
How do you to create a one to many relationship in JPA with no JoinTables?
提前致谢。
答案 0 :(得分:1)
如果您的实体中不需要双向关系 - 您只需将“component”类中的“role_id”字段更改为以下内容:
@javax.persistence.ManyToOne
private role role;
请注意,在这种情况下,“role”将拥有关系,“component”将是反向(非拥有)“side”。
如果您还需要双向关系,则必须添加带有@javax.persistence.OneToMany anntoattion的字段,并将指定的“mappedBy”添加到“role”类。
另外,请查看有关该注释的其他弱点的文档以获得更多控制权。
答案 1 :(得分: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
}