如何修复和/或优化这个实施春天JPA查询方法的?

问题描述 投票:0回答:1

我想实现从定义为一个多对一关系的JoinColumn的关键领域中的JPA查询方法。

这是一个应用程序,我的工作,与Maven使用Spring 5和JPA 2.1版本内置的一部分。

方案的预期的行为:“A”实体(主键= A_ID)必须由“B”实体(主键= B_ID),其中B可以自己在A.从数据库的角度来看一个以上的条目所拥有的,我需要外键B_ID存储在一个实体,而不是周围的其他方式。

class A  {

 @id
 Long a_id;

 @ManyToOne(optional = false)
 B b;
}

class B {

  @id
  Long b_id;

  @OneToMany(mappedBy = "b_id", cascade = CascadeType.ALL)
  @Transient
  private Set<Jobs> jobs;

}

//是否有我可以对这个模型的任何修改或简化?

//现在我想提取所有的参赛作品,其中有一个特定的B_ID //使用查询方法

ARepository extends JpaRepository<A, Long> { 
    Optional<List<A>> findByB_id(Long B_id);
}

这是错误我用这种方法获得:

Error: Unable to locate Attribute with the the given name [B_id] on this ManagedType [<package_path>.A]
hibernate jpa spring-data-jpa mapping bidirectional
1个回答
1
投票

mappedBy引用的反比关系是你的榜样bb_id

所以变化

@OneToMany(mappedBy = "b_id", cascade = CascadeType.ALL)

@OneToMany(mappedBy = "b", cascade = CascadeType.ALL)
© www.soinside.com 2019 - 2024. All rights reserved.