분류 전체보기

@ManyToOne(fetch = FetchType.LAZY) xToMany는 기본 설정이 FetchType.LAZY, 즉 지연로딩이다. 성능 최적화를 하기위해서는 기본적으로 모든 연관 관계가 지연로딩이여야한다. 그래야 각종 최적화 기법을 사용할 수 있다. https://keyboardfoot.tistory.com/96 [JPA] 컬렉션을 가진 엔티티를 fetch 하여 페이징하는 방법 public class Order @Id @GeneratedValue @Column(name = "order_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; @OneToOn..
em.persist Merge the state of the given entity into the current persistence context. 현제 영속성 컨택스트에 주어진 엔티티의 상태를 병합함(넣음,합침,덮음) em.flush(); Set the flush mode that applies to all objects contained in the persistence context. 영속성 컨텍스트에 포함된 모든 개체에 적용되는 FlushMode로 설정합니다. em.clear(); Remove the given entity from the persistence context, causing a managed entity to become detached. Unflushed changes mad..
package stduy.datajpa.entity; import lombok.*; import javax.persistence.*; @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(of = {"id", "userName", "age"}) public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String userName; private int age; @ManyToOne @JoinColumn(name = "team_id") private Team team; public Member(Str..
@Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(of = {"id", "userName", "age"}) public class Member { @Id @GeneratedValue @Column(name = "member_id") 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 ..
@Override public String toString() { return "Member{" + "id=" + id + ", userName='" + userName + '\'' + ", age=" + age + '}'; } 대신 어노테이션으로 @ToString(of = {"id", "userName", "age"}) 대체할 수 있다.
엔티티를 속성을 작성할때 생성자를 빈 생성자를 막고 싶으면 private 대신 proteced를 써야한다 왜냐하면 jpa가 proxy기능 등을 사용할때 private로 막혀있으면 프록시 기능을 쓸 수 없기 때문이다. 따라서 protected로 막을 수 있는데 롬복이 설치되어있다면 proteced대신 @NoArgsConstructor(access = AccessLevel.PROTECTED)로 대신 사용할 수 있다. @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; pri..
https://esoongan.tistory.com/82 [JAVA] 빌더패턴 (Builder Pattern) , @Builder entity나 Dto객체에 값을 넣어줄때 롬복의 빌더 애노테이션(@Builder)을 종종 사용하곤 하는데 완벽히 이해를 하지 못한것같아 정리해보았다! 빌더패턴이란? 디자인패턴중 하나로, 생성과 표현의 분 esoongan.tistory.com 좋은 설명같다.
public class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; for (int i = 0; i < n; i++) { answer[i] = (long)x * (i+1); } return answer; } } 주의할점 : X에 곱하기 연산이 오는경우 X를 꼭 long을 바꿔줘야한다. 왜냐하면 자바의 기본 연산은 int이다 따라서 x * (i+1)을 할때 int의 범위를 넘어서면 오버플로우가 일어난다. 따라서 x를 long으로 형변환을 해야한다. 또 주의할점은 (long)(x * (i+1))으로 하면 안된다. 이것은 이미 int로 연산된 상황에서 long으로 형변환 한것이기 때문에 아무런 의미가 없다.
키보드발
'분류 전체보기' 카테고리의 글 목록 (16 Page)