Я создал объекты User и Message, и теперь я хочу, чтобы идентификатор этого сообщения был связан с идентификатором пользователя. Как это сделать с аннотациями или чем-то еще? Пользователь таблицы Table Messge
Класс сообщения
@Entity
public class Message {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String text;
private String tag;
}
Класс пользователя
@Entity
@Table(name = "usr")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String username;
private String password;
private boolean active;
@ElementCollection(targetClass = Role.class , fetch = FetchType.LAZY)
@CollectionTable(name = "user_role" , joinColumns = @JoinColumn(name = "user_id"))
@Enumerated(EnumType.STRING)
private Set<Role> roles;
}
2
Семен Немытов
20 Окт 2019 в 17:04
1 ответ
Лучший ответ
Вы можете попробовать это:
Класс сообщения:
@Entity
public class Message {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String text;
private String tag;
@ManyToOne
@JoinColumn(name = "user_id")
private User userId;
}
Класс пользователя:
@Entity
@Table(name = "usr")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String username;
private String password;
private boolean active;
@ElementCollection(targetClass = Role.class , fetch = FetchType.LAZY)
@CollectionTable(name = "user_role" , joinColumns = @JoinColumn(name = "user_id"))
@Enumerated(EnumType.STRING)
private Set<Role> roles;
@OneToMany(mappedBy = "user")
@JsonBackReference
private set<Message> messages;
}
0
AmirBll
20 Окт 2019 в 16:12
Похожие вопросы
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].