Я следую этому руководству здесь http://hellokoding.com/registration-and-login-example-with-spring-xml-configuration-maven-jsp-and-mysql/ , чтобы создать процесс регистрации и регистрации с использованием весны mvc и maven. Я создал связь, сопоставленную с user_role между таблицей ролей и пользовательской таблицей. Все кажется прекрасным, но когда я пытаюсь создать нового пользователя, приложение выдает ошибку.Ошибка обработки запроса; Вложенное исключение - org.springframework.dao.DataIntegrityViolationException: невозможно выполнить оператор;
User.java
@ManyToMany
@JoinTable(name = "user_role", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id"))
public Set<Role> getRoles() {
return roles;
}
Role.java
@ManyToMany(mappedBy = "roles")
public Set<User> getUsers() {
return users;
}
Это в pictoral представления о взаимосвязи между ролью таблицей для role_user таблицы и таблицы пользователя role_user таблицы
Пожалуйста, почему я получаю эту ошибку Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement;
Это comlete StackTrace
HTTP Status 500 - Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.DataException: could not execute statement
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.DataException: could not execute statement
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
Добавление дополнительной StackTrace
root cause
org.hibernate.exception.DataException: could not execute statement
org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:69)
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:211)
root cause
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'password' at row 1
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3845)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2113)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2049)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2034)
выше StackTrace происходит, когда я пытаюсь создать новый пользователь
Пожалуйста, что я делаю неправильно? Большое спасибо
Добавьте полный StackTrace пожалуйста – Jens
@Jens я совершаю что – Blaze
@Jens я добавил полный StackTrace – Blaze