У меня есть модель User, которая содержит список достижений
@Table(name = "user")
@Entity
@NamedEntityGraph(name = "User.achievements",
attributeNodes={
@NamedAttributeNode("achievements")
})
@Data
public class User {
@Id
@NotNull
@Column(name = "username")
private String username;
@Column(name = "password")
private String password;
@ElementCollection(fetch = FetchType.LAZY, targetClass = Achievement.class)
private List<Achievement> achievements = new ArrayList<>();
}
Вот модель достижений
@Entity
@Data
@Table(name = "achievement")
public class Achievement {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
private String achievementId;
@Column(name = "title")
private String title;
@Column(name = "description")
private String description;
@Column(name = "achieved", columnDefinition="BOOLEAN DEFAULT false", nullable = false)
private boolean achieved = false;
user_achievements
таблица, сгенерированная из отображения @ElementCollection, которое содержит только atm внешние ключи пользователя и достижения
Я хочу переместить значение boolean achieved
в таблицу user_achievements
, в идеале без необходимости создания отдельного модель User_Achievements
Я довольно новичок в использовании Jpa, но я чувствую, что этот сценарий слишком базовый c, поэтому должен быть прямой способ сделать это, я не могу его найти