Данные Java Spring JPA не могут получить данные связанной таблицыJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Данные Java Spring JPA не могут получить данные связанной таблицы

Сообщение Anonymous »

У меня есть следующие классы сущностей:

Где пользователь приложения может иметь 1 профиль и несколько сообщений,

1 сообщение может быть связано только с 1 пользователем приложения,

AppUser и роль будут связаны между собой многие-ко-многим.

ERD -

Изображение

AppUser -

@Getter
@Setter
@Entity
@Table(name = "app_user")
public class AppUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(name = "username")
private String username;

@Column(name = "email")
private String email;

@JsonManagedReference
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "profile_id")
private Profile profile;

@JsonManagedReference
@OneToMany(mappedBy = "appUser", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private List
posts = new ArrayList();

@JsonBackReference
@ManyToMany
@JoinTable(
name = "user_role",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "role_id")
)
private Set roles = new HashSet();
}

Profile -
@Entity
@Table(name = "profile")
public class Profile {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String bio;
}

Post -

@Entity
@Table(name = "post")
public class Post {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String content;

@JsonBackReference
@ManyToOne
@JoinColumn(name = "app_user_id")
private AppUser appUser;
}

Role -

@Getter
@Setter
@Entity
@Table(name = "role")
public class Role {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String name;

@ManyToMany(mappedBy = "roles")
private Set appUsers = new HashSet();
}

Я получаю следующий ответ: данные профиля, сообщений и ролей не извлекаются -

// http://localhost:8080/user/all

[
{
"id": 1,
"username": "john_doe",
"email": "john@gmail.com",
"profile": {

},
"posts": [
{

},
{

}
]
},
{
"id": 2,
"username": "jane_smith",
"email": "jane@gmail.com",
"profile": {

},
"posts": [
{

}
]
}
]


Подробнее здесь: https://stackoverflow.com/questions/790 ... table-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»