Пожалуйста, обратитесь к приложенному скриншоту, чтобы понять структуру таблицы.
Empd_Id - это первичный ключ в таблице «Сотрудник», который в свою очередь становитсячасть составного ключа вместе с «product_id» в таблице под названием «product».Любой сотрудник может иметь несколько продуктов, поэтому в этом случае между таблицами «Сотрудник-Продукт» возникает отношение «один ко многим».Теперь я запутался, нужно ли мне писать только 1 интерфейс JpaRepository, т. Е. Для сотрудника, или 2 интерфейса JpaRepository (1 для сотрудника и один для продукта).Я чувствую, что это всего лишь 1 интерфейс для таблицы Employee, но как ???
Ниже приведен мой фрагмент кода: - 1-й интерфейс репозитория JPA
public interface MyRepository extends JpaRepository<Product, EmpProd> {
}
Объект: -
@Entity
@Table(name="product")
public class Product{
@EmbeddedId
private EmpProd empProd;
@Column(name="product_name")
private String commerceUserId;
@Column(name="description")
private String description;
Для составных ключей: -
@Embeddable
public class EmpProd implements Serializable{
private static final long serialVersionUID = 1L;
@NotNull
@Column(name="emp_id")
private String empId;
@NotNull
@Column(name="product_id")
private String productId;
2-й интерфейс репозитория Jpa
public interface MyMainDataRepository extends JpaRepository<Employee, String> {
}
Класс сущности: -
@Entity
@Table(name="employee")
public class Employee{
@Id
@NotNull
@Column(name="emp_id")
private String empId;
@Column(name="first_name")
private String firstName;
Хотя я написал 2 отдельныхРепозитории JPA, я твердо верю, что понадобится всего 1, основной, то есть
открытый интерфейс MyMainDataRepository расширяет JpaRepository {}
Но я не знаю, как связаны оба класса сущностей и выборочные данныеот использования одного репозитория Jpa, поскольку я новичок в Spring Data JPA.Я был бы очень признателен, если бы кто-нибудь мог помочь мне здесь.Спасибо