Я пытаюсь реализовать метод запроса jpa из ключевого поля, определенного как JoinColumn для отношения ManyToOne.
Это часть приложения, которое я работаю, построено с Maven с использованием Spring 5 и JpaВерсии 2.1.
Ожидаемое поведение схемы: сущность "A" (первичный ключ = a_id) должна принадлежать сущности "B" (первичный ключ = b_id), где B может иметь более одной записи в A.С точки зрения базы данных, мне нужно хранить внешний ключ b_id в объекте A, но не наоборот.
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;
}
// Могу ли я внести какие-либо исправления или упрощения в эту модель?
// Теперь я пытаюсь извлечь все записи A, которые имеют определенный 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]