Я переучиваю Java, Springboot в личном проекте.У меня есть объект с именем User
, который управляется через автоматически сгенерированные леса из jHipster
.У меня также есть UserProfile
, который является сущностью, которую я создал для хранения дополнительных данных (поскольку я не хотел возиться с объектом User
. Теперь, когда я выставляю конечные точки REST для UserProfile
, я хочуGET вызывает включение user_id
как часть JSON, а вызовы PUT / POST, чтобы принять user_id
для UserProfile
, выполнить ассоциацию и только после этого сохранить. Используемым ORM является Hibernate / JPA. Что Джексонаннотации я должен использовать, чтобы это произошло?
Мой User
объект:
public class User {
@ToString.Exclude
@OneToOne(mappedBy = "user", orphanRemoval = true, fetch = FetchType.LAZY)
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@JsonIgnore
private UserProfile userProfile;
}
и мой UserProfile
класс:
public class UserProfile {
@ToString.Exclude
@ApiModelProperty(value = "Linking the UserProfile to the base User object that is used for authentication")
@OneToOne(optional = false)
// Note: Not marking with 'NotNull' annotation since we will not want to update the User object when upserting the UerProfile
@JoinColumn(unique = true, nullable = false, insertable = true, updatable = false)
@JsonIgnoreProperties("userProfile")
private User user;
}
Мои версииare: spring_boot_version = 2.0.8.RELEASE hibernate_version = 5.2.17.Final