OneToOne 关联在 JPA 中无法使用 Spring 引导和 spring 数据 JPA
OneToOne Association In JPA not working using Spring boot and spring data JPA
我正在尝试在 JPA 中实现 OneToOne 关联,并尝试使用 spring boot 和 spring data JPA 连接两个表。我创建了一个 spring 引导微服务并在我的模型中实现了一对一关联。但是当我是 运行 代码时,我收到以下错误,
Caused by: org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElement
这是我的第一个模型 class Users.java 如下,
@Entity
@Table(name = "users")
public class Users implements Serializable {
private static final long serialVersionUID = 9178661439383356177L;
@Id
@Column(name="user_id")
public Integer userId;
@Column(name="username")
public String username;
@Column(name="password")
public String password;
}
我正在使用以下代码通过控制器测试关联,
@GetMapping("/load")
public Users load() {
return (Users) userObj.findAll();
}
任何人都可以帮助解决这个关联问题吗?
这是错误的。
@OneToOne(mappedBy="nuserId")
public Set<UserRoleMapping> roleUserRoleMappingMappingJoin;
}
OneToOne 表示只有一个对象..对吗?
查看此内容以了解映射。
注释@OneToOne 定义了与另一个实体的单值关联,在您的情况下,您将用户关联到一组 UserRoleMapping,而不是将其与 class 的单个对象关联。使用@ManyToOne注解
实际上异常指的是无效的@OneToMany, @ManyToMany or @CollectionOfElement
映射
这只能是
@OneToMany()
@JoinColumn(name="nuser_id" , referencedColumnName="nuserId")
public Users nuserId;
如果 @OneToMany
关系有效,首先将其更改为
@OneToMany()
@JoinColumn(name="nuser_id" , referencedColumnName="nuserId")
public List<Users> users;
如果 @OneToMany
关系 无效 将其更改为
@OneToOne()
@JoinColumn(name="nuser_id" , referencedColumnName="nuserId")
public Users users;
我正在尝试在 JPA 中实现 OneToOne 关联,并尝试使用 spring boot 和 spring data JPA 连接两个表。我创建了一个 spring 引导微服务并在我的模型中实现了一对一关联。但是当我是 运行 代码时,我收到以下错误,
Caused by: org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElement
这是我的第一个模型 class Users.java 如下,
@Entity
@Table(name = "users")
public class Users implements Serializable {
private static final long serialVersionUID = 9178661439383356177L;
@Id
@Column(name="user_id")
public Integer userId;
@Column(name="username")
public String username;
@Column(name="password")
public String password;
}
我正在使用以下代码通过控制器测试关联,
@GetMapping("/load")
public Users load() {
return (Users) userObj.findAll();
}
任何人都可以帮助解决这个关联问题吗?
这是错误的。
@OneToOne(mappedBy="nuserId")
public Set<UserRoleMapping> roleUserRoleMappingMappingJoin;
}
OneToOne 表示只有一个对象..对吗?
查看此内容以了解映射。
注释@OneToOne 定义了与另一个实体的单值关联,在您的情况下,您将用户关联到一组 UserRoleMapping,而不是将其与 class 的单个对象关联。使用@ManyToOne注解
实际上异常指的是无效的@OneToMany, @ManyToMany or @CollectionOfElement
映射
这只能是
@OneToMany()
@JoinColumn(name="nuser_id" , referencedColumnName="nuserId")
public Users nuserId;
如果 @OneToMany
关系有效,首先将其更改为
@OneToMany()
@JoinColumn(name="nuser_id" , referencedColumnName="nuserId")
public List<Users> users;
如果 @OneToMany
关系 无效 将其更改为
@OneToOne()
@JoinColumn(name="nuser_id" , referencedColumnName="nuserId")
public Users users;