Всем привет! Есть две таблицы task и user.
Есть классы которые реализуют сущности.
@Entity
@Table(name = Task.TABLE)
@EntityListeners(AtomicObjectListener.class)
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter
@Setter
private Integer id;
@Column(name = "title")
@Getter
@Setter
private String title;
@Column(name = "user_id")
@Getter
@Setter
private Integer userId;
@Column(name = "user_name")
@Getter
@Setter
private String userName;
}
@Entity
@Table(name = User.TABLE)
@EntityListeners(AtomicObjectListener.class)
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter
@Setter
private Integer id;
@Column(name = "user_name")
@Getter
@Setter
private String userName;
}
Вопрос в том как заполнить поле userName в классе Task на основании userId ?
можно было сделать так :
@Entity
@Table(name = Task.TABLE)
@EntityListeners(AtomicObjectListener.class)
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter
@Setter
private Integer id;
@Column(name = "title")
@Getter
@Setter
private String title;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
@Setter
@Getter
private User user;
@Column(name = "user_name")
@Getter
@Setter
private String userName = user.getName();
}
но я не могу сделать замену т.к. на интовое поле (в классе Task) много чего завязано.