개발일기/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
- Spring 숙련 강의 수강
- 방송대 알고리즘 강의 수강
- HyperSkill 문풀
- 프로그래머스 문풀
- 약수의 개수와 덧셈(JAVA)
- 상품 별 오프라인 매출 구하기 (SQL)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
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 작성