데이터베이스에서 UserReference 개체를로드하려고하지만, verifier 특성에서 userReference가 무엇인가 보일 수 있도록 id, firstName 및 lastName 만로드하려고합니다. 같은 :@NamedEntityGraph의 하위 그래프에 지정된 속성 만로드하는 방법
{
"id": 1,
"company": "company1",
"companyContactName": "some name",
"companyPosition": "programmer",
"referenceDate": "02/04/2005",
"verifier": {
"id":1
"firstName": "Jane",
"lastName": "Smith"
"email":null,
"username":null,
"office:null,
"department":null
}
}
나는 UserReference 클래스의 엔티티 그래프를 사용하지만, 하나는 내가 부하에게 사용자가 이메일, 사용자 이름, 사무실 및 부서를 포함하여,이 모든 정보를 사용했다. 하위 그래프에 EntityGraphType.FETCH와 같은 것을 지정하는 방법이 있습니까? 그러면 검증자가 id, firstName 및 lastName 만로드 할 수 있습니까? 난 당신이 JSON을 생성 잭슨을 사용하는 가정
@Getter @Setter
@EqualsAndHashCode(exclude = {"id", "department", "company", "authorities", "hrDetails"})
@ToString(exclude = {"password"})
@Entity
@AllArgsConstructor
@Builder
public class User implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Access(value = AccessType.PROPERTY)
private Long id;
@Size(max = 50)
@Column(name = "first_name", length = 50)
private String firstName;
@Size(max = 50)
@Column(name = "last_name", length = 50)
private String lastName;
@Column(length = 100, unique = true, nullable = false)
private String email;
@Column(length = 50, unique = true, nullable = false)
private String username;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "department_id")
private Department department;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "office_id")
private Office office;
}