Я пытаюсь добавить многоязычность в поля description и title одной из моих сущностей, но безуспешно. Моя сущность похожа на приведенную ниже, и моя база данных MySQL:
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "project")
public class ProjectEntity implements Serializable {
@Id
@Column(name="id")
private Integer id;
@Column(name="team_size")
private Integer teamSize;
@Column(name="description")
private String description;
@Column(name="title")
private String title;
@OneToMany
private List<DetailsEntity> details;
}
Я уже пытался добавить сущность projectDetails, которая содержит описание и заголовок, но, поскольку мне нужен многоязыковой язык, у проекта теперь будет список ProjectDetails в моем бэкэнде, что мне не нужно. Вот как может выглядеть projectDetails:
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "project_details")
public class ProjectDetails implements Serializable {
@Id
@Column(name="id")
private Integer id;
@Column(name="title")
private String title;
@Column(name="description")
private String description;
@Column(name="language")
private String language;
@Column(name="project_id")
private Integer projectId;
}
Я хотел бы иметь возможность что-то делать с запросами репозитория JPA, например:
@Repository
public interface ProjectEntityRepository extends JpaRepository<ProjectEntity, Integer> {
@Query("select p from ProjectEntity p left outer join ProjectDetails d on p.id=d.project_id and d.language=:language")
List<ProjectEntity> findAllForLanguage(String language);
}
Любая идея о том, как изменить часть этого, чтобы вернуть сущность Project со значениями только 1 ProjectDetails?
Спасибо