Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements

2019/08/20 21:59
阅读数 275

1...表与表之间的关联:

一对一: A   B  两张表  A表中的每条的记录对应的B的一条记录

   :一对一关系实现方式:

         1:使用外键关联 

    :  场景:使用客户表和客户拓展表 

    :在属性上 添加一个@OneToOne代表一个对一个的关系    在属性上添加@JoinColumn​ name 存储外键的字段     referencedColumnNm 对方表的字段名称 (可以省略)

         2:使用主键关联,两个表  A  B 的主键相同。

   : 使用@PrimaryKeyJoinColumn 注解不需要配置属性   ​双方都需要添加

一对多: A   B  两张表  A表中的每条的记录对应B表中多条的记录    B表中多条的记录对应A表中一条记录

   :场景:客户和联系人之间 一对多       ​ 一个客户对应多个联系人

   :单方:1  添加一个属性 记录多的一方的信息  应该是一个集合 hashset    2  在属性上添加一个注解  @OneToMany      3一定是多的一方记录外键   参照一的一方的主键

   :多方:1  在属性上添加 注解   @ManyToOne   2   在属性上添加 @joinColumn 注解

 

报错:Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements

分析: 错误使用   1:单方:使用得 注解:@OneToMany  2:多方:在属性上添加 注解   @OneToMany 

  正确使用1:单方:使用得 注解:@OneToMany  2:多方:在属性上添加 注解   @ManyToOne 

提示:这种报错大致都是为:@OneToMany  与@OneToMany  的错用

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部