Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

즉 각종 Join(Inner,Left,Right....)에 대응하는 JPA Relation 키워드기능을  잘 파악해둬야합니다.

SQL Join의 자유도만큼 JPA가 표현하지 못할수도 자유로운 표현력만큼 ,JPA는 분명 제약적입니다. 

객체 지향적 설계가 어떠한 Join문을 실제 작동시키게될지? 성능적으로 어떠한 전략을 택해야할지

오브젝트 설계시 고려가 되지 못하면, Join의 기능을 사용못하는 답답함이 생길수도 있습니다.

이것을 장점으로 받아들일지? 단점으로 생각해야할지? JPA를 선택하는 중요한 사안이될수 있습니다.


Code Block
languagejava
themeEmacs
titleGroupInfo에 1:N 포함관계처리 추가
@Entity
public class GroupInfo {	  
  @OneToMany(mappedBy = "groupInfo", cascade = {CascadeType.PERSIST},fetch=FetchType.EAGER)
  private Set<User> users;

	@Override
    public String toString() {
        String result = String.format(
                "GroupInfo[id=%d, name='%s']%n",
                id, name);        
        if (users != null) {        	        	
            for(User user : users) {
                result += String.format(
                        "User[id=%d, name='%s']%n",
                        user.getId(), user.getName());
            }
        }
        return result;
    }
}


public interface GroupRepository extends CrudRepository<GroupInfo, Long> {
	public GroupInfo findByName(String name);	
}

...