Связывание столбца электронной почты из одной таблицы со столбцом имени пользователя другой таблицы с помощью Java с Spring

#java #spring #jpa #spring-data-jpa #spring-jdbc

Вопрос:

Я использую Spring Boot с Spring Data JPA. У меня есть две таблицы с именами Пользователь и сотрудник.

Employee.java

 @Data
@NoArgsConstructor
public class Employee implements Serializable
{
    private static final long serialVersionUID = -3732596549369515261L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;    
    
    private String name;
    private String designation;
    private Date dateOfJoining;
    private String workLocation;

    @Column(unique = true)
    private Long contactNo;
    
    @Column(unique = true)
    private String email;
    private Date dateOfLeaving;   
}
 

User.java

 @Entity
@Data
@NoArgsConstructor
public class User 
{
    
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    
    private String username;
    private String password;    
}
 

Я хочу создать связь между Employee.email и User.username. Будет ли это возможно с помощью любых аннотаций JPA.

Я пробовал использовать сопоставления из JPA, и ни одно из них не работает как пользователь.имя пользователя-строка, в отличие от объекта Employee.

Комментарии:

1. Какого рода отношения? Также поделитесь тем, что вы пробовали до сих пор.

2. Значение имени пользователя в таблице Пользователей должно быть записью столбца электронной почты таблицы сотрудников. Попробовал объединить столбец с отображением OneToOne, но тип, который нам нужно упомянуть, — это только ссылка на объект(сотрудник), в отличие от строки, которую я на самом деле ищу.