gpt4 book ai didi

java - 使用mappedby属性时出现Hibernate异常

转载 作者:行者123 更新时间:2023-11-30 03:07:17 25 4
gpt4 key购买 nike

我正在尝试在 pojo 类中的表之间进行映射。但我收到一个属性的异常。Pojo 类

用户:

@Entity
@Table(name = "Users")
public class Users implements java.io.Serializable {

private int userId;
private Role role;
private Groups groupId;
private UserType userType;
private String userName;
private Boolean isActive;



public Users() {
}

public Users(int userId, Role role, Groups groupId ,UserType userType, String userName, boolean isActive) {
this.userId = userId;
this.role = role;
this.groupId = groupId;
this.userType = userType;
this.userName = userName;
this.isActive = isActive;
}

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "UserID", unique = true, nullable = false)
public int getUserId() {
return this.userId;
}

public void setUserId(int userId) {
this.userId = userId;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "RoleID", nullable = false)
public Role getRole() {
return this.role;
}

public void setRole(Role role) {
this.role = role;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "GroupId", nullable = false)
public Groups getGroup() {
return this.groupId;
}

public void setGroup(Groups group) {
this.groupId = group;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "UserTypeID", nullable = false)
public UserType getUserType() {
return this.userType;
}

public void setUserType(UserType userType) {
this.userType = userType;
}

@Column(name = "UserName", nullable = false)
public String getUserName() {
return this.userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

@Column(name = "IsActive", nullable = false, columnDefinition = "BIT")
public Boolean isIsActive() {
return this.isActive;
}

public void setIsActive(Boolean isActive) {
this.isActive = isActive;
}

}

群组:

@Entity
@Table(name = "Groups")
public class Groups implements java.io.Serializable{

private int groupId;
private String groupName;
private String groupDesc;

private Set<Users> users = new HashSet<Users>(0);

public Groups (){

}

public Groups(int groupId, String groupName, String groupDesc){
super();
this.groupId = groupId;
this.groupName = groupName;
this.groupDesc = groupDesc;
}

public Groups(int groupId, String groupName, String groupDesc, Set<Users> users) {
super();
this.groupId = groupId;
this.groupName = groupName;
this.groupDesc = groupDesc;
this.users = users;
}

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name ="GroupID", nullable = false)
public int getGroupId() {
return groupId;
}

public void setGroupId(int groupId) {
this.groupId = groupId;
}

@Column(name = "GroupName", nullable = false)
public String getGroupName() {
return groupName;
}

public void setGroupName(String groupName) {
this.groupName = groupName;
}

@Column(name = "GroupDesc", nullable = false)
public String getGroupDesc() {
return groupDesc;
}

public void setGroupDesc(String groupDesc) {
this.groupDesc = groupDesc;
}

@OneToMany(fetch = FetchType.LAZY, mappedBy = "groupId") //Error
public Set<Users> getUserse() {
return this.userse;
}

public void setUserse(Set<Users> users) {
this.users = users;
}


}

我正在映射 Users 类的正确成员变量。但我遇到了这样的异常

org.hibernate.AnnotationException: mappedBy reference an unknown target     entity property: com.project.pojo.Users.groupId in com.project.pojo.Groups.users

在用户 pojo 中,我有像角色、用户类型这样的属性,它们的映射没有任何异常。而对于组,我得到了这个异常。有人可以帮我解决这个异常吗?

谢谢:)

最佳答案

您的类用户和组的成员变量有问题将Users.pojo的变量名groupId更改为group,并将ma​​ppedby属性更改为group 在groups类中设置方法。

这将解决您的问题。

关于java - 使用mappedby属性时出现Hibernate异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34437138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com