Schema Export 보기.

이제 디비에 insert, update, del.... 간단한 테스트를 해봅니다.
해보니까 알아서 쿼리문 사용하고.. 편하긴 편한거 같은데... (뭔가 찝찝..)

일단 지저분한 테스트 코드로 데이터를 넣어봤습니다. 말그대로 Insert 하는것이고..
그냥 객체 생성해서 save하면 끝나는거 같네요. 물론 하이버네이트에는 많은 기능들이 있을테지만..
save뿐이 모르기에 ^^


테스트 돌려보니 역시나 콘솔창에서 알아서 쿼리문을 만들어서 집어넣는거 같습니다.
음.. 넘어온 파라미터들까지 볼 수 있으면 좋을텐데요.........
어딘가 그런 설정이 있을거 같은데.. 없으려나 ㅎㅎ [ Log4j 설정 보기 ]


삭제와 수정을 해보기에 앞서 DB에서 객체를 가져오는거 먼저...
(일단 매번 session을 얻어오고 transaction.. try ~ catch 해주는 중복 코드는 인터페이스와
추상클래스로 제거했습니다.)


- get : 호출 시점에서 select 쿼리 실행.
- load : 객체의 값이 실제로 필요한 시점에 쿼리 실행.

정말 간단합니다...........
나머지 수정과 삭제를 해봐야 하는데.. select 된 객체를 넣어주면 끝납니다.....


당연한 얘기지만.. 가져와서 수정을 하네요.
근데 이렇게 되면 매번 수정을 하기 위해선 select를 무조건 실행해야합니다.

그럼 이렇게 해보는건?? (사실 전 첨에 이렇게 했었습니다만..........)



결과는...


저도 되지 않을까 싶었는데.. board.hbm.xml에 설정하기를 writer 컬럼은 not-null로 설정해서
업데이트 할때에도 넣어줘야 하나보드라구요. 수정이 필요없는 데이터까지 억지로 넣어줘야 하는..
할튼 그 방법은 좀 별로인듯 싶네요.

그리고 이 방법을 쓰려면 equals 메서드를 구현해줘야 한다는거 같네요.
그건.. 예전 설정 파일에서 mata 속성을 설정했던적이 있는데 저 상태로 generation하면
도메인 객체에 저 메서드들이 오버라이딩 된다고 했었습니다.



이런식으로 오버라이딩 되서 만들어집니다.
이 메서드가 없다면 위 방식의 업데이트는 이루어지지 않습니다.



Delete부분은 Update와 같기때문에... 알아서;;

정말 기본적인 CRUD 해봤는데 아직 하이버네이트에 기능들을 다 몰라서 이정도뿐이 안되는군요.
일단 여기서는 HQL을 쓰지 않았습니다.

공부.. 해도 해도 끝이 없습니다.... ㅅㅂ;;

'Database > Hibernate' 카테고리의 다른 글

큐브리드 foreign key.....  (0) 2010.07.04
Hibernate Log4j 설정.  (0) 2009.10.24
SchemaExport.  (0) 2009.10.24
Hibernate Code Generation..  (0) 2009.10.23
Hibernate 도전!  (0) 2009.10.22

+ Recent posts