1 : [Config] Table
     boardCode PK
N: [Board] Table
     BoardCode FK

Board를 조회 할 경우 항상 Config와 함께 JOIN이 필요 할 경우 Config Class 는 특별한 설정이 필요 없다.
Config 조회 할경우에는 단순히 Config 만 조회한다.

Board Class
     boardCode 변수를 생성할 필요 없다.


 
// fetch=FetchType.LAZY: 요청할때만 JOIN한다.,  EAGER: 무조껀 JOIN한다.
// cascade=CascadeType=ALL, MERGE, PERSIST, REFRESH, REMOVE
@ManyToOne(fetch=FetchType.LAZY, cascade = {CascadeType.REMOVE}, targetEntity=Config.class )
@JoinColumn(name = "boardCode")
@ForeignKey(name = "FK_CONFIG_BOARD_CODE")
private Config config; // getter, setter 만들어준다.


JOIN 시 FK로 Where을 걸 경우
 
Session session = getSession();
		
Criteria crit = session.createCriteria(Board.class, "B");
crit.createCriteria("Config", "C");
crit.add(Restrictions.eq("C.boardCode", boardCode));
crit.setFirstResult(firstIndex);
crit.setMaxResults(pageSize);
crit.addOrder(Order.desc("regdate"));

+ Recent posts