@Entity
@Getter
@RequiredArgsConstructor
public class Member {
@Id
@GeneratedValue
private Long id;
@Column(length = 50, nullable = false)
private String userId;
@Column(length = 100, nullable = false)
private String userPassword;
@Column(length = 40, nullable = false)
private String userName;
@Column(length = 20, nullable = false)
private String userPhone;
@Column(nullable = false)
private String userBirthdate;
@Column(length = 2, nullable = false)
private String userSex;
@Email
@Column(length = 100, nullable = false)
private String userEmail;
private String fileName;
private String fileOriName;
private Long fileSize;
@CreatedDate
@Column(nullable = false, updatable = false)
private Date regDate;
@Builder
public Member(Long id, String userId, String userPassword, String userName, String userPhone,
String userBirthdate, String userSex, String userEmail, String fileName, String fileOriName, Long fileSize) {
this.id = id;
this.userId = userId;
this.userPassword = userPassword;
this.userName = userName;
this.userPhone = userPhone;
this.userBirthdate = userBirthdate;
this.userSex = userSex;
this.userEmail = userEmail;
this.fileName = fileName;
this.fileOriName = fileOriName;
this.fileSize = fileSize;
}
}
public interface MemberRepository extends JpaRepository<Member, Long> {
boolean existsByUserId(String userId);
boolean existsByUserEmail(String userEmail);
Member findByUserId(String userId);
@Query(value = "SELECT * FROM MEMBER M WHERE M.ID = (SELECT F.FRIEND_ID FROM FRIEND F WHERE F.MEMBER_ID = :id)", nativeQuery = true)
List<Member> findMemberByFriendId(@Param("id") Long memberId);
}
@AllArgsConstructor
@Getter
public class FriendListDto {
private String userId;
private String userName;
private String userBirthdate;
private String fileName;
public FriendListDto (Member entity) {
this.userId = entity.getUserId();
this.userName = entity.getUserName();
this.userBirthdate = entity.getUserBirthdate();
this.fileName = entity.getFileName();
}
}
@Service
public class FriendService {
@Autowired
private MemberRepository memberRepository;
public List<FriendListDto> getFriendList(Long memberId) {
return memberRepository.findMemberByFriendId(memberId).stream()
.map(FriendListDto::new).collect(Collectors.toList());
//.map(member -> new FriendListDto(member.getUserId(), member.getUserName(),
// member.getUserBirthdate(), member.getFileName())).collect(Collectors.toList());
}
}
뭔가 잘못되었을 수도 있습니다.
이 작업을 완료하면 올바르게 수행하십시오.