목록JAVA (7)
현제의 현재이야기
package com.example.domain.domain; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import javax.persistence.*; import java.time.LocalDateTime; @Entity @Getter @Setter @Table(name = "member") @NoArgsConstructor public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private int age; private LocalDateTime createdAt; public Member(int age)..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/04Tvk/btr9V9uA104/H8YwoJQdfUTtgp3KhWK3GK/img.png)
package com.example.domain.domain; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import javax.persistence.*; import java.net.URL; @Entity @Getter @Setter @NoArgsConstructor public class Result { @Id @GeneratedValue @Column(name = "result_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColum..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oSajq/btr8Gjxdsjy/VM4GtW3f7QUNXdusVBxkb0/img.png)
BoardService.java public Optional findById(Long id) { return Optional.ofNullable(boardRepository.findById(id)); } 우선 BoardService에 있는 findById를 옵셔널로 바꿔준다. 이렇게 되면 없는 값을 검색할 때 null 값으로 반환됨 PostController.java @GetMapping("/{id}") public ResponseEntity getPost(@PathVariable Long id) { Optional board = boardService.findById(id); return board.map(ResponseEntity::ok) .orElse(ResponseEntity.notFound()...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/o0uEV/btr3IDapb9M/pFN1fy6Utmk5cKx2COa6V1/img.png)
새로운 인스턴스이기 때문에 다르다. 그러나 자바 컬렉션에서는 같다. 값을 반환하기 때문 결론: 객체 답게 모델링 할수록 매핑 작업만 늘어난다. -> 그래서 JPA가 나옴 About JPA ORM: Object Relational Mapping{객체 관계 매핑} 객체는 객체대로 설계, 관계형 데이터베이스와 매핑을 해준다. JPA는 JDBC API와 애플리케이션 사이에서 존재 🚨JPA 부분이 중요한게 패러다임 불일치를 해결해준다는 것 상속된 것도 알아서 매핑해줘서 CRUD해준다. 연관 관계와 객체 그래프 탐색(멤버 꺼내고 멤버에서 team꺼내고) 신뢰할 수 있는 엔티티, 계층 동일한 트랜잭션에서 조회한 엔티티는 같음을 보장 성능 최적화 기능 1차 캐시와 동일성 보장(4번과 동일): jpa.find를 하면, ..
코드 출처: 점프 투 자바 class Counter { static int count = 0; Counter() { count++; // count는 더이상 객체변수가 아니므로 this를 제거하는 것이 좋다. System.out.println(count); // this 제거 } } public class Sample { public static void main(String[] args) { Counter c1 = new Counter(); Counter c2 = new Counter(); } } 자바 공부를 하다가 static이라는 개념이 나오길래 생소해서 찾아봄 자바의 static 변수와 파이썬의 전역변수는 비슷한 개념이지만 몇 가지 차이점이 있다. 자바에서 static 변수는 해당 클래스에 속한 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/crFoEZ/btr2H5MmFHI/jKAha1SZplwgC46unwUef1/img.png)
값을 바꾸고 싶지 않을 때 final 사용 final int y = 30; long(+L), int, short, byte double float(+f), 더블이 더 크다. boolean char(+''), String(+"") < 이거 위주로 쓰인다. 형변환 int j = (int) 30L; 강제로 작은 타입으로 형변환 long ll = 30; < 작은 값을 큰 상자에 넣으면 그냥 들어간다. printf %s < 스트링문자열 /%d int i = Integer.parseInt(str); 다시 되돌리는 것 String str2 = String.valueof(i); Random random = new Random(); int rand = random.nextInt(bound:10); 입력 Scanner s..