엔티티에 해당하는 보드, 리플라이를 만들어 보았다.
#board.java
@Lob
대용량 데이터를 주입할 때 사용한다.
@ColumnDefault("0")
정수일 경우는 칼럼디폴트 ''를 추가 안해줌
@ManyToOne
Many = Board, User = One, 여러개의 게시글은 한명의 유저에 의해 쓰여진다.
@OneToMany(mappedBy = "board",fetch = FetchType.EAGER)
기본전략,mappedBY 연관관계의 주인이 아니다. DB에 칼럼을 만들지 말기,reply테이블의 board객체에 의해 만들어짐
기본전략은 필요할때 가져오는 LAZY이나, 필수적으로 값을 가져오려면 EAGER전략을 사용한다.
자바프로그램에서 객체 저장하는데 충돌이 난다. 데이터베이스에는 칼럼값인데 객체를 저장하려 하기 때문이다.
User user -> int userId로 인식
#Reply.java
엔티티 어노테이션이란?
엔티티 맨밑에 붙어있는게 명시역할 - orm이다!
연관관계의 주인
메인페이지의 게시글 클릭하면 새로운 화면으로
이동, 게시글 -> 상세보기 화면에 이런저런 내용 텍스트들의 내용을 각각 다른 테이블들이 갖고있음, 3개 테이블을 조인해서 select를 통해가져왔음, 하지만 orm방식을 쓰면 board table만 쓰면 됨, jpa가 디비에 조인문을 날림, 디비는 그 결과값을 jpa에 반환함