스프링3.0 +하이버네이트+ mysql5.1 checkbox 부분에서..

216 views
Skip to first unread message

Kyoung Tak Nam

unread,
May 31, 2010, 7:40:55 AM5/31/10
to Korea Spring User Group
안녕하세요
스프링3.0 + 하이버네이트 + mysql 5.1 로 공부중에 막히는 부분이 있어 문의드립니다.
다른부분은 다 되는데
checkbox 부분에서
문제가 생깁니다.
jsp 부분

Quidditch: <form:checkbox path="interests" value="Quidditch"/>
Herbology: <form:checkbox path="interests" value="Herbology"/>
Defence Against the Dark Arts: <form:checkbox path="interests"
value="Defence Against the Dark Arts"/>

이부분에서 값을 받으면

<font color='red'><b>xAC\xED\x00\x05ur...' for column 'USER </b></
font>

이런형태로 나옵니다.
Arrays.toString 로 하면 정상적으로 나오긴 합니다만..
계속적으로 에러가 나고 있습니다...
검색해도 mysql문제라고 하긴 합니다만...

interests 이부분을 제거를 하면 정상적으로 됩니다.
처음 공부하는 것이라 어디부터 잘못된것인지 모르겟습니다.



java bean 부분
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------

package com.vaannila.domain;
import java.util.Arrays;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name="USER")
public class User {
private Long id;
private String name;
private String password;
private String gender;
private String country;
private String aboutYou;
private String community;
private Boolean mailingList;
private String[] interests;


@Id
@GeneratedValue(generator="id")
@GenericGenerator(name="id",strategy="increment")
@Column(name="USER_ID")
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }

@Column(name="USER_NAME")
public String getName() { return name; }
public void setName(String name) { this.name = name; }

@Column(name="USER_PASSWORD")
public String getPassword() { return password; }
public void setPassword(String password) { this.password =
password; }

@Column(name="USER_GENDER")
public String getGender() { return gender; }
public void setGender(String gender) { this.gender = gender; }

@Column(name="USER_COUNTRY")
public String getCountry() { return country; }
public void setCountry(String country) { this.country = country; }

@Column(name="USER_ABOUT_YOU")
public String getAboutYou() { return aboutYou; }
public void setAboutYou(String aboutYou) { this.aboutYou =
aboutYou; }

public void setCommunity(String community) {
this.community = community;
}
@Column(name="USER_COMMUNITY")
public String getCommunity() {
return community;
}

public void setInterests(String[] interests) {
this.interests = interests;
}

@Column(name="USER_INTERESTS")
public String[] getInterests() {
return interests;
}

@Column(name="USER_MAILING_LIST")
public Boolean getMailingList() { return mailingList; }
public void setMailingList(Boolean mailingList) { this.mailingList =
mailingList; }
@Override
public String toString() {
return "User [aboutYou=" + aboutYou
// + "\n, community=" + Arrays.toString(community)
// + "\n, community=" + community
+ "\n, country=" + country
+ "\n, gender=" + gender
+ "\n, id=" + id
+ "\n, mailingList=" + mailingList
+ "\n, name=" + name
+ "\n, password=" + password
+ "]";
}



}
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------




xx-servlet.xml 부분
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="myDataSource" />
<property name="annotatedClasses">
<list>
<value>com.vaannila.domain.User</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</
prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
</props>
</property>
</bean>
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------

------------------- 에러 로그관련-------------------------------------
<font color='red'><b>
[DEBUG] [2010-05-31 18:52:01,531][http-80-1]
FrameworkServlet.java.processRequest()-[671 Line] Could not complete
request
org.springframework.jdbc.UncategorizedSQLException: Hibernate
operation: Could not execute JDBC batch update; uncategorized
SQLException for SQL [insert into USER (USER_ABOUT_YOU,
USER_COMMUNITY, USER_COUNTRY, USER_GENDER, USER_INTERESTS,
USER_MAILING_LIST, USER_NAME, USER_PASSWORD, USER_ID) values
(?, ?, ?, ?, ?, ?, ?, ?, ?)]; SQL state [HY000]; error code [1366];
Incorrect string value: '\xAC\xED\x00\x05ur...' for column
'USER_INTERESTS' at row 1; nested exception is
java.sql.BatchUpdateException: Incorrect string value: '\xAC\xED
\x00\x05ur...' for column 'USER_INTERESTS' at row 1
</b></font>
at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
83)
at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
80)
at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
80)
at
org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:
424)
at
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:
410)
at
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:
411)
at
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:
374)
at
org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:
683)
at com.vaannila.dao.UserDAOImpl.saveUser(UserDAOImpl.java:31)
at com.vaannila.web.UserController.add(UserController.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:
471)
at
org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:
408)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:
153)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:
48)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:
771)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:
716)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:
644)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:
560)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:
88)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
76)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
263)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.BatchUpdateException: Incorrect string value: '\xAC
\xED\x00\x05ur...' for column 'USER_INTERESTS' at row 1
at
com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:
2018)
at
com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:
1454)
at
org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:
297)
at
org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:
70)
at
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:
268)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:
266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:
167)
at
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:
321)
at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:
50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at
org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:
390)
at
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:
407)
... 34 more
2010. 5. 31 오후 6:52:01 org.apache.catalina.core.StandardWrapperValve
invoke
심각: Servlet.service() for servlet faz threw exception
<font color='red'><b>
java.sql.BatchUpdateException: Incorrect string value: '\xAC\xED
\x00\x05ur...' for column 'USER_INTERESTS' at row 1</b></font>
at
com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:
2018)
at
com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:
1454)
at
org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:
297)
at
org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:
70)
at
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:
268)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:
266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:
167)
at
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:
321)
at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:
50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at
org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:
390)
at
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:
407)
at
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:
374)
at
org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:
683)
at com.vaannila.dao.UserDAOImpl.saveUser(UserDAOImpl.java:31)
at com.vaannila.web.UserController.add(UserController.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:
471)
at
org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:
408)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:
153)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:
48)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:
771)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:
716)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:
644)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:
560)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:
88)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
76)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
263)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Unknown Source)

백기선

unread,
May 31, 2010, 9:20:47 AM5/31/10
to ks...@googlegroups.com
<prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</
 
MySQL 쓰신다고 하지 않으셨나요?
다이어렉트는 ... 흠;; @_@;;

2010년 5월 31일 오후 8:40, Kyoung Tak Nam <gh...@jadu.pe.kr>님의 말:

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.




--
좋은 하루 되세요~

남경탁

unread,
May 31, 2010, 10:37:30 AM5/31/10
to ks...@googlegroups.com
그렇군요;;
이제 걸음마라 뭐가 뭔지 @@;;;
정말 고맙습니다~


 
2010년 5월 31일 오후 10:20, 백기선 <whites...@gmail.com>님의 말:

백기선

unread,
May 31, 2010, 6:39:18 PM5/31/10
to ks...@googlegroups.com
저도 저렇게 해본적이 있어서요 ㅋㅋㅋ

친절하게 설정까지 다 올려주셔서 답변드릴 수 있었습니다.

감사합니다.

모범 질문이세요. 완전 귿!!

2010년 5월 31일 오후 11:37, 남경탁 <gh...@jadu.pe.kr>님의 말:



--
좋은 하루 되세요~

남경탁

unread,
May 31, 2010, 7:23:34 PM5/31/10
to ks...@googlegroups.com
네네...
기선님덕에 더 열심히 공부해야겠네요~
정말 감사합니다.~

2010년 6월 1일 오전 7:39, 백기선 <whites...@gmail.com>님의 말:
Reply all
Reply to author
Forward
0 new messages