본문 바로가기

백엔드

[3.0] forEach 사용 item : forEach내에서 각 아이템 이름으로 사용할 것. index : index collection="classNames" // 배열명 open="" // forEach 시작 전 ex: "(" forEach 시작전에 ( #{item} separator="," // forEach 1회시 구분 해줄 기호 close="" // forEach 종료 후 ex: ")" forEach 종료 후에 ( #{item}, #{item}, #{item} .... #{item[index]} ) SUM(CASE WHEN R.CLASS_NAME = #{item} THEN R.CNT ELSE 0 END) AS #{item}
MySQL AutoReconnect 설정. 참조 : http://hmjkor.tistory.com/176
[3.0] like 검색. - iBatis 3.0 에서 간단하게 like 검색 하는 법 CB.CUSTOMER_NAME like CONCAT('%', #{customerName:VARCHAR}, '%') 사용 예 ) SELECT CB.COUPON_BOOK_NO, CN.COUPON_NAME_SEQ, CN.COUPON_NAME , CASE WHEN CB.CHARGE_TYPE = 'F' THEN '무상' ELSE '유상' END AS CHARGE_TYPE , AM.AUTO_MODEL_SEQ , AM.MODEL_NAME , IFNULL(CB.CAR_NUMBER, '') AS CAR_NUMBER , CB.VIN_NO , CB.CUSTOMER_NAME , CONCAT(CB.CUSTOMER_PHONE_1, '-', CB.CUSTOMER_PHON..
[3.0] JDBC Type 쿼리~~ AND (TO_DAYS(CB.COUPON_EXPIRED_DATE) - TO_DAYS(CAST(#{criterionDate} AS DATE)) BETWEEN #{criterionDay1:NUMERIC} AND #{criterionDay2:NUMERIC})
iBatis 3.0 Cache 문제 - 1. Query 실행 후 그 결과를 Map에 담아 리턴해 페이지에 출력. 2. 다른 곳에서 위 출력 결과에 영향을 주는 컬럼 값을 변경한다. 3. 다시 1번을 수행하면 2번의 결과가 반영되지 않고 수정하기 전의 결과가 딱 나온다. iBatis로그가 아닌 일반 로그에서는 호출은 되나 iBatis가 실행되진 않았다. - 조건을 다르게 해서 실행 했을경우 sql을 실행하지만, 결과 값인 Map에는 수정하기 전의 정보가 들어있다. - statementType="CALLABLE" flushCache="false" useCache="false" 모두 헛 수고 왜 그런지 문서좀 뒤져야겠다.. 일단.. iBatis 로그부터 찍어야하고..
[JPA - Error] Multiple writable mappings exist for the field description : only one may be defined as writable all others must be specified read-only Many To One 매핑에서 자주 발생하는 문제이다.. 또한 추가적으로 One쪽 PK가 Many쪽에서도 PK로 사용된다면 JPA 초기 설정된 상태로는 100% 에러난다. A와 B의 관계가 N:1이면 A와 B의 PK들은 아래의 구조를 가지게 된다. //MasterCodes.java (A와 B의 관계에선 A, 즉 Many 쪽 table) @EmbeddedId private MasterCodesPK id; //복합키 @Column(name="CODE_NAME") private String codeName; //생략~~ //bi-directional m..
제네릭이 왜 안되었는지~ 왜 제네릭이 안되었는지 이제 알았다. 확실히... 먼저 제네릭이 안되었을때의 하이버네이트와 매핑한 bean을 살펴보면 @Id @GeneratedValue(strategy=GenerationType.AUTO) public Integer getUserSeq() { return userSeq; } 오류난 로그 2010-01-09 23:06 [DEBUG] opened session at timestamp: 12630460153 2010-01-09 23:06 [DEBUG] about to open PreparedStatement (open PreparedStatements: 0, globally: 0) 2010-01-09 23:06 [DEBUG] opening JDBC connection 2010-01-09 23..
Criteria 사용할때 주의할 점. 난 Collection을 사용할때 항상 Generic 타입으로 객체를 생성하려한다. 이유야 generic을 사용하면 좀 간편해지니 (캐스팅을 할 필요도 없고..) 이유야 어쨋든 하이버 네이트에서도 제네릭을 붙여보았는데 .. Session session = getHibernateTemplate().getSessionFactory().openSession(); Criteria crit = session.createCriteria(Member.class); crit.add(Expression.eq("userId", member.getUserId())); crit.add(Expression.eq("userPw", member.getUserPw())); List list = crit.list(); 난 이게 될 줄..