JPA 单向一对多关联 中间表生成唯一索引问题
目前的需求是这样的:
有A、B两个实体,A对B形成一对多的关联关系,目前我只需要配置单向一对多关联,即只在A中配置一对多,B中不做任何配置,具体如下:
如果像上述配置的话,因为未在B中进行关联配置,这样会生成一个中间表A_B来维护关联关系,A_B中除了已生成必要的外键索引外,还对B_ID字段生成了一个唯一索引,这是不应该的,因为A_B中肯定会有重复记录。
请问:通过A中加什么注解,才能在生成表的同时不生成唯一索引?请各位赐教!!!(认为我表述不清楚的可以纠正)
有A、B两个实体,A对B形成一对多的关联关系,目前我只需要配置单向一对多关联,即只在A中配置一对多,B中不做任何配置,具体如下:
public class A implements Serializable {
private static final long serialVersionUID = -1317006094950982121L;
//其余属性及get、set方法省略
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToMany (cascade = {CascadeType.REFRESH, CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}, fetch=FetchType.LAZY)
private List<B> b = new ArrayList<B>();
}
public class B implements Serializable {
private static final long serialVersionUID = -1317006094950982121L;
//其余属性及get、set方法省略
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
//注:A中单向一对多配置,B中不配置A属性
}
如果像上述配置的话,因为未在B中进行关联配置,这样会生成一个中间表A_B来维护关联关系,A_B中除了已生成必要的外键索引外,还对B_ID字段生成了一个唯一索引,这是不应该的,因为A_B中肯定会有重复记录。
请问:通过A中加什么注解,才能在生成表的同时不生成唯一索引?请各位赐教!!!(认为我表述不清楚的可以纠正)
...全文
相关推荐
JPA一对一,一对多,多对多关系映射
JPA一对一,一对多,多对多关系映射,面向对象领域
深入解析JPA中单向一对多关联的外键映射策略
在JPA中,默认情况下,一对多关联会使用一个中间的连接表(join table)来存储关系。这种默认的映射策略也被称为“一对多连接表映射策略”。然而,还有一种更高效的策略,即“一对多外键映射策略”。在“一对多外键映射策略”中,我们不再使用连接表,而是直接在目标表(target table)中添加一个外键列。这个外键列用于存储源表(source table)的主键引用。通过这种方式,我们可以避免创建额外的连接表,从而简化数据库结构并提高查询效率。为了使用这种策略,我们需要在源实体类中使用。
实现Mybatis框架中一对多关联映射的查询操作。
实现Mybatis框架中一对多关联映射的查询操作。 User用户表 - Order_form订单表属于 1-N 的关系。 一个用户对象包含一批订单信息
jpa--10.单向一对多
jpa--10.单向一对多jpa--10.单向一对多jpa--10.单向一对多jpa--10.单向一对多jpa--10.单向一对多jpa--10.单向一对多
10_JPA详解_JPA中的一对多双向关联与级联操作.zip
10_JPA详解_JPA中的一对多双向关联与级联操作.zip


