• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

JPQL JOIN강의 수강 중 에러 발생

24.02.26 17:27 작성 조회수 69

0

package jpql;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import java.util.ArrayList;
import java.util.List;

@Entity
public class Team {
    @Id @GeneratedValue
    private Long id;

    private String name;

    @OneToMany(mappedBy = "team")
    private List<Member> members = new ArrayList<>();

    private Member member;

    public List<Member> getMembers() {
        return members;
    }

    public void setMembers(List<Member> members) {
        this.members = members;
    }

    public Member getMember() {
        return member;
    }

    public void setMember(Member member) {
        this.member = member;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

 

 

JPQL 조인 강의를 따라하고 있는데 이런 에러가 납니다.

'Basic' attribute type should not be 'Persistence Entity'

 

package jpql;

import javax.persistence.*;
@Entity
@Table(name = "MEMBER")
public class Member {

    @Id @GeneratedValue
    private Long id;
    private String username;
    private int age;

    @ManyToOne
    @JoinColumn(name = "TEAM_ID")
    private Team team;

    public void changeTeam(Team team){
        this.team = team;
        team.getMembers().add(this);
    }

    public Team getTeam() {
        return team;
    }

    public void setTeam(Team team) {
        this.team = team;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Member{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", age=" + age +
                ", age=" + age +
                '}';
    }
}

어떻게 해결하면 좋을지 알 수 있을까요?

답변 1

답변을 작성해보세요.

1

David님의 프로필

David

2024.02.26

안녕하세요. jjjs님, 공식 서포터즈 David입니다.

엔터티 간의 참조인데 연관관계 매핑이 없어서 발생한 오류로 보입니다.

연관관계를 맺어주시면 해소될 것 같습니다.

감사합니다.