난 Collection을 사용할때 항상 Generic 타입으로 객체를 생성하려한다.
이유야 generic을 사용하면 좀 간편해지니 (캐스팅을 할 필요도 없고..)
이유야 어쨋든 하이버 네이트에서도 제네릭을 붙여보았는데 ..
-
Session session = getHibernateTemplate().getSessionFactory().openSession();
-
-
crit.add(Expression.eq("userId", member.getUserId()));
-
crit.add(Expression.eq("userPw", member.getUserPw()));
-
-
List<Member> list = crit.list();
난 이게 될 줄 알았다. 정말 진짜...
심심풀이 만들어보고 있는데 이상하게 유저가 존재하는데도 session을 생성하려고하면 null을 뱉어내니 환장하는 수 밖에..
별 수단 다 써보다가 설마 싶어서 <Member>를 지우고 찍어보니.. 객체 주소가 찍히네...
그래서 도달한 결론은 7번 라인처럼 generic을 이용하여도 -
crit.list()를 하게 되면 return 되는 값들은 Object 형이므로 무조건 class Casting을 하여야 한다.
Membe rmember = (Member) list.get(0);
이렇게... 하면 틀린거고;;
http://yeory.tistory.com/46 여기를 참고하세요..
이글은 무식 인증 글임 ㅋ
'백엔드 > Hibernate' 카테고리의 다른 글
Found: timestamp, expected: date or Found: date, expected: timestamp 에러 (0) | 2012.11.30 |
---|---|
제네릭이 왜 안되었는지~ (0) | 2010.01.09 |