개발일기/TIL(Since24.04.19)

Java&Spring - TIL(24.05.24 금)

w.llama 2024. 5. 24. 21:07

오늘 한 일

  • 내일배움 캠프
    • Spring 숙련 강의 수강
      • Entity 1:1 / 1:N / N:1 / N:M
  • 방송대 알고리즘 강의 수강
  • HyperSkill 문풀
  • 프로그래머스 문풀
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이 

class Solution {
    public int solution(int left, int right) {
        int answer = 0;
        int cnt=0;

        for(int i=left;i<=right;i++){
        cnt=0;    
            for(int j=1;j<=i;j++){
              if(i%j==0){
                  cnt+=1;
              }
            }
            if(cnt%2==0){
                answer+=i;
            }
            else{
                answer-=i;
            }
        }
        return answer;
    }
}

 

Entity 연관관계

 데이터베이스 테이블 간의 연관관계는 중요하다

- 1:1 관계일때 @OneToOne 애너테이션 사용  // 사용자와 사용자프로필

- N:1 관계일때 @ManyToOne 애너테이션 사용 // 댓글과 게시

- 1:N 관계일때 @OneToMany 애너테이션 사용 // 부서와 직원

- N:M 관계일때 @ManyToMany 애너테이션 사용 // 학생과 과목

을 생각해서 사용하면된다

양방향일때 @JoinColumn() 을 활용하며 외래 키의 주인을 지정할때 mappedBy(테이블명) 사용해야한다 

ex 1:1 양방향

음식이 외래키의 주인

@Entity
@Table(name = "food")
public class Food {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private double price;

    @OneToOne
    @JoinColumn(name = "user_id")
    private User user;
}

고객

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;

    @OneToOne(mappedBy = "user")
    private Food food;
}

주말 할 일

Spring 수강

플레이 X4 방문

WIL 작성