자바_큐브리드 쿼리에 대한 질문입니다.

by 존케이 posted Apr 05, 2012

안녕하세요.

요새 큐브리드로 스프링 프레임워크를 공부하고 있어요.

큐브리드에 쿼리부분에 오류가 잇는거 같아서 글을 쓰게 되었습니다.


질문은 별거 아닐수 있지만 제가 DB SQL를 

자바 소스에 쿼리로 넣는 부분에서 오류가 나타나서 질문을 올리게 되었습니다.


DB정보

DB명 -sqlstudy

테이블-users

컬럼 

id,varchar(10)

name,varchar(20)

password,varchar(10)

login,integer

recommend,integer

leval,integer 



public List<User> getAll() {

// TODO Auto-generated method stub

return this.jdbcTemplate.query("select * from users order by id", this.userMapper);

}


----------------------------------------------------------------------------

enum 소스

public enum Level {

BASIC(1),SILVER(2),GOLD(3);

private final int value;

Level(int value){

this.value = value;

}

public int intValue(){

return value;

}

public static Level valueOf(int value){

switch(value){

case 1: return BASIC;

case 2: return SILVER;

case 3: return GOLD;

default : throw new AssertionError("Unknown value: " + value);

}

}

}


UserDaoTest 클래스의 소스/ 데이터 삽입부분 - 나머지소스는 생략

.....

public void setUp(){

this.user1 = new User("id1","name1","pass1" , Level.BASIC,1,0);

this.user2 = new User("id2","name2","pass2" , Level.SILVER,55,10);

this.user3 = new User("id3","name3","pass3" , Level.GOLD,100,40);

}

-----------------------------------------------------------------------------------------

UserDaoJdbc 클래스의 소스/ 실제 데이터 입력 쿼리문 - 나머지 소스는 생략

......

public void add(final User user){

this.jdbcTemplate.update(" INSERT INTO users(id, name, password, level, login, recommend, ) values (?,?,?,?,?,?) "

,user.getId(),user.getName(),user.getPassword(),user.getLogin(),user.getRecommend(),user.getLevel());


}



문제/오류나는 설명 :

1) enum 를 활용해서 level 컬럼에 데이터를 삽입하는 소스에 오류가 생깁니다.


2) level 컬럽을 다른 컬럼명으로 바꾸면 데이터가 삽입된다 예) level -> levela


3)levela 컬럼으로 변경한후에 데이터가 들어가지만

스프링 프레임워크3.0에서 템플릿을 사용한 쿼리를 날린후에

정상적인 데이터가 들어오지 못한다 또는 오류 발생된다.


우선 데이터가 돌아가게는 변경했지만..

템플릿을 사용못해서 공부에 진도가 늦쳐지고 있어서 속상하네요.


제가 작성한 소스도 압축해서 올립니다.

꼭 원인이 뭔지에 대해 알려주세요.