实体(getter和setter等略):复合键实体
@Embeddable
public class GroupUserRolesID implements Serializable {
@Column(name = "groupID")
private Long groupID;
@Column(name = "groupRoleID")
private Long groupRoleID;
@Column(name = "userID")
private Long userID;
private GroupUserRolesID() {}
public GroupUserRolesID(Long groupRoleID, Long groupID, Long userID) {
this.groupRoleID = groupRoleID;
this.groupID = groupID;
this.userID = userID;
}
@Entity(name = "GroupUserRoles")
public class GroupUserRoles {
@EmbeddedId
private GroupUserRolesID id;
@ManyToOne(fetch = FetchType.LAZY)
@MapsId("groupRoleID")
private GroupRole groupRole;
@ManyToOne(fetch = FetchType.LAZY)
@MapsId("groupID")
private Group group;
@ManyToOne(fetch = FetchType.LAZY)
@MapsId("userID")
private User user;
public GroupUserRoles(GroupRole groupRole, Group group, User user) {
this.groupRole = groupRole;
this.group = group;
this.user = user;
this.id = new GroupUserRolesID(groupRole.getId(), group.getGroupID(), user.getUserId());
}
用户实体
@Entity
public class User {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long userID;
@Column(name = "userHashedPassword")
private String password;
@Column(name = "userName")
private String userName;
@Column(name = "userEmail")
private String email;
@OneToMany(mappedBy = "user")
private Set<GroupUserRoles> groupUserRoles = new HashSet<>();
问题是一对多hibernate映射在这种json格式下不起作用。我认为这是一个逻辑错误,没有显示语法错误。 我的控制器是: 员工实体类为: 教育实体是: JSON输入: 一对多映射不适用于这种json格式。如何以json格式实现这种映射?请给我你有价值的建议。
问题内容: 我想知道是否有可能在另一个Embeddable中包含Embeddable的ElementCollection? 这是我的供应商实体的示例,该实体具有可嵌入类型的地址列表: 这是我的可嵌入地址,其中包含可嵌入电话的列表 这是嵌入式电话的定义 我目前正在使用JPA 2 + Hibernate 3.6.x对此进行测试 在地址中使用嵌入式电话在我的测试中导致错误。这是最底层的部分调试消息: 删
您好,我有多对多映射,在联接表中有额外的列。表结构如下所示。 关系如下 链接 我创建了如下POJO类 Vendor.java 学生。爪哇 测试。爪哇 供应商est.java 供应商学生测试PK。爪哇 Hibernate映射文件,如下所示 vendor.hbm.xml vendor\u student\u测试。hbm。xml 大学生hbm。xml 测验hbm。xml 我刚开始Hibernate,这是
EJB 3.0提供了将JAVA POJO(Plain Old Java Object)嵌入到实体bean中的选项,并允许使用嵌入式POJO类的方法映射列名。 要嵌入的Java POJO必须注释为@Embeddable。 @Embeddable public class Publisher implements Serializable{ private String name; pri
问题内容: 我想要的是: 但是,您知道@Embeddable没有这样的属性。 有正确的方法吗?我不想要解决方法。 问题答案: 可嵌入组件(或复合元素,无论您想称呼它们)通常包含多个属性,因此被映射到多个列。因此,整个组件为null可以用不同的方式处理。J2EE规范没有规定一种方法。 如果所有组件的属性均为NULL,则Hibernate会将其视为NULL(反之亦然)。因此,您可以声明一个(任意)属性
问题内容: 我正在使用Hibernate Envers来审核我的实体。但是我有一个问题。我想审核一个具有ManyToMany关系的实体。我发现存在一个@AuditJoinTable,但是我不知道它是如何工作的。有人可以举一个例子吗? 问题答案: 审核多对多关系应该可以在没有任何其他配置的情况下进行,前提是必须对关系的双方进行审核。 关于,注释用于指定联接表的自定义表名称。看到: http://do