嵌套的异常是org.hibernate.exception.GenericJDBCException:无法执行语句

维达卢

我有点喜欢在一个小项目中使用Maven,Hibernate,spring和JPA存储库。我很高兴地认为在这里找到了信息

http://docs.spring.io/spring-data/jpa/docs/1.4.2.RELEASE/reference/html/jpa.repositories.html

至少足以创建一个简单的应用程序。不幸的是,事实并非如此。我已经设法从MySQL数据库读取数据,但是到目前为止,我无法插入任何数据。

这是一个简单的“用户”模型类。

@Entity
@Table(name = "ctuser")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long uid;

    @Column(name = "Gmail", nullable = false)
    private String gmail;


    public String getGmail() {
        return gmail;
    }

    public void setGmail(String gmail) {
        this.gmail = gmail;
    }

    @Override
    public String toString() {
        return getGmail();
    }
}

我已经创建了一个合适的存储库接口...

package put.io.come_together.service.persistance.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import put.io.come_together.model.User;

public interface UserRepository extends JpaRepository<User, Long> {

    User findUserByUid(long uid);

    User save (User obj);

    }

服务接口

public interface UserService {

    User getUser(long uid);

    User addUser(User obj);

    List<User> getAll();

}

...以及接口的实现。

@Service
public class UserServiceImpl implements UserService {
    private final UserRepository userRepository;

    @Autowired
    public UserServiceImpl(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    @Override
    public User getUser(long uid) {return userRepository.findUserByUid(uid);
    }

    @Transactional
    @Override
    public User addUser(User obj) {return this.userRepository.saveAndFlush(obj);}

    @Override
    public List<User> getAll() {
        return userRepository.findAll();
    }

最后,我尝试呈现为数据并将某些内容插入数据库。

@Controller
public class HomePageController {


    @Autowired
    private UserService userService;

    private static final String USER_MAP_KEY = "groups";
    private static final String USER_LIST_TEMPLATE_NAME = "groupList";

    @RequestMapping("/")
    String hello(Map<String, Object> model) {
        User osoba = new User();
        osoba.setGmail("ADAMWEST");
        userService.addUser(osoba);

        List<User> userGroupsList = userService.getAll();
        model.put(USER_MAP_KEY, userGroupsList);
        return USER_LIST_TEMPLATE_NAME;
    }

}

如果我不userService.addUser(osoba);排队,一切都会很好。我可以看到从数据库中读取的数据排列整齐。但是,当我尝试实际使用该.addUser()方法时,我的本地主机将显示一个白标签错误页面。

白标错误页

此应用程序没有针对/ error的显式映射,因此您将其视为后备。Sun Apr 19 09:36:52 CEST 2015发生意外错误(类型=内部服务器错误,状态= 500)。无法执行语句;嵌套的异常是org.hibernate.exception.GenericJDBCException:无法执行语句

您能告诉我我做错了什么吗?我一直在努力解决问题一段时间,并彻底失去了希望。

这是异常的堆栈跟踪。该错误涉及字段“ UID”没有默认值,但我将其标记为@Id字段。我还删除了整个数据库,然后重新设置它,发现它对遇到类似问题的人有所帮助。

java.sql.SQLException: Field 'UID' doesn't have a default value
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2530)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1907)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2141)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2077)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2062)
        at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208)
        at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:96)
        at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:58)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3032)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3558)
        at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:98)
        at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:492)
        at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:197)
        at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:181)
        at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:216)
        at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:324)
        at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:
288)
        at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:194)
        at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:125
)
        at org.hibernate.jpa.event.internal.core.JpaPersistEventListener.saveWithGeneratedId(JpaPersistEventListener.jav
a:84)
        at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:2
06)
        at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:149)
        at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:75)
        at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:811)
        at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:784)
        at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:789)
        at org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1181)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(Extend
edEntityManagerCreator.java:344)
        at com.sun.proxy.$Proxy78.persist(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEnti
tyManagerCreator.java:291)
        at com.sun.proxy.$Proxy78.persist(Unknown Source)
        at org.springframework.data.jpa.repository.support.SimpleJpaRepository.save(SimpleJpaRepository.java:407)
        at org.springframework.data.jpa.repository.support.SimpleJpaRepository.saveAndFlush(SimpleJpaRepository.java:421
)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.exec
uteMethodOn(RepositoryFactorySupport.java:416)
        at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doIn
voke(RepositoryFactorySupport.java:401)
        at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invo
ke(RepositoryFactorySupport.java:373)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.data.repository.core.support.RepositoryFactorySupport$DefaultMethodInvokingMethodIntercep
tor.invoke(RepositoryFactorySupport.java:486)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce
ptor.java:99)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec
tSupport.java:281)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTransla
tionInterceptor.java:136)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingM
ethodIntercceptor.invoke(CrudMethodMetadataPostProcessor.java:122)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy80.saveAndFlush(Unknown Source)
        at put.io.come_together.service.persistance.impl.UserServiceImpl.addUser(UserServiceImpl.java:26)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce
ptor.java:99)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec
tSupport.java:281)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy83.addUser(Unknown Source)
        at put.io.come_together.controller.HomePageController.hello(HomePageController.java:29)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:13
7)
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletIn
vocableHandlerMethod.java:110)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(Request
MappingHandlerAdapter.java:777)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMapp
ingHandlerAdapter.java:706)
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.j
ava:85)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        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:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)

JB Nizet

您说过Hibernate,该ID是使用策略AUTO自动生成的。对于MySQL,此策略包括让数据库使用自动增量列生成ID。因此,如果您未将uid自动增量定义为自动增量,则该方法将无效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

org.hibernate.exception.GenericJDBCException:无法执行语句

来自分类Dev

org.hibernate.exception.GenericJDBCException:无法执行语句

来自分类Dev

无法执行保存操作:org.hibernate.exception.GenericJDBCException:无法执行语句

来自分类Dev

org.hibernate.exception.GenericJDBCException:无法执行查询

来自分类Dev

请求处理失败;嵌套的异常是org.hibernate.exception.ConstraintViolationException:无法执行JDBC批处理更新

来自分类Dev

请求处理失败;嵌套的异常是org.hibernate.exception.ConstraintViolationException:无法执行JDBC批处理更新

来自分类Dev

org.hibernate.exception.GenericJDBCException:无法在休眠中执行语句

来自分类Dev

嵌套的异常是org.hibernate.exception.SQLGrammarException:无法提取ResultSet Hibernate + SpringMVC

来自分类Dev

org.hibernate.exception.SQLGrammarException:无法执行语句

来自分类Dev

org.hibernate.exception.ConstraintViolationException:无法执行语句

来自分类Dev

org.hibernate.exception.SQLGrammarException:无法执行语句

来自分类Dev

嵌套的异常是org.hibernate.exception.SQLGrammarException:无法提取ResultSet,Spring4,Hibernate4

来自分类Dev

嵌套的异常是org.springframework.dao.InvalidDataAccessResourceUsageException-无法执行查询(Spring和Hibernate)

来自分类Dev

嵌套的异常是org.hibernate.exception.SQLGrammarException:无法提取ResultSet,Spring4,Hibernate4。请帮帮我

来自分类Dev

嵌套的异常是org.hibernate.exception.SQLGrammarException:ORA-02289:序列不存在

来自分类Dev

org.hibernate.exception.DataException:无法执行查询

来自分类Dev

无法执行JDBC批量更新:线程“主要” org.hibernate.exception.ConstraintViolationException中的异常:

来自分类Dev

请求处理失败;嵌套的异常是org.springframework.dao.DataIntegrityViolationException:无法执行语句;

来自分类Dev

线程“主”中的异常org.hibernate.exception.GenericJDBCException:无法使用mySQL打开连接

来自分类Dev

org.hibernate.exception.SQLGrammarException:无法执行JDBC批量更新

来自分类Dev

Hibernate 未在新线程 {org.hibernate.exception.GenericJDBCException: 无法提取 ResultSet} 中从 DB 加载数据

来自分类Dev

Hibernate 4.3无法执行语句

来自分类Dev

SQLGrammarException:无法执行语句(PostgreSQL + Hibernate)

来自分类Dev

Hibernate 4.3无法执行语句

来自分类Dev

org.hibernate.exception.SQLGrammarException:无法准备语句

来自分类Dev

org.hibernate.exception.SQLGrammarException:无法准备语句-Spring ROO

来自分类Dev

org.hibernate.exception.SQLGrammarException:无法准备语句-Spring ROO

来自分类Dev

嵌套的异常是org.hibernate.AnnotationException:mappedBy通过引用未知的目标实体属性

来自分类Dev

org.hibernate.exception.ConstraintViolationException:无法插入

Related 相关文章

  1. 1

    org.hibernate.exception.GenericJDBCException:无法执行语句

  2. 2

    org.hibernate.exception.GenericJDBCException:无法执行语句

  3. 3

    无法执行保存操作:org.hibernate.exception.GenericJDBCException:无法执行语句

  4. 4

    org.hibernate.exception.GenericJDBCException:无法执行查询

  5. 5

    请求处理失败;嵌套的异常是org.hibernate.exception.ConstraintViolationException:无法执行JDBC批处理更新

  6. 6

    请求处理失败;嵌套的异常是org.hibernate.exception.ConstraintViolationException:无法执行JDBC批处理更新

  7. 7

    org.hibernate.exception.GenericJDBCException:无法在休眠中执行语句

  8. 8

    嵌套的异常是org.hibernate.exception.SQLGrammarException:无法提取ResultSet Hibernate + SpringMVC

  9. 9

    org.hibernate.exception.SQLGrammarException:无法执行语句

  10. 10

    org.hibernate.exception.ConstraintViolationException:无法执行语句

  11. 11

    org.hibernate.exception.SQLGrammarException:无法执行语句

  12. 12

    嵌套的异常是org.hibernate.exception.SQLGrammarException:无法提取ResultSet,Spring4,Hibernate4

  13. 13

    嵌套的异常是org.springframework.dao.InvalidDataAccessResourceUsageException-无法执行查询(Spring和Hibernate)

  14. 14

    嵌套的异常是org.hibernate.exception.SQLGrammarException:无法提取ResultSet,Spring4,Hibernate4。请帮帮我

  15. 15

    嵌套的异常是org.hibernate.exception.SQLGrammarException:ORA-02289:序列不存在

  16. 16

    org.hibernate.exception.DataException:无法执行查询

  17. 17

    无法执行JDBC批量更新:线程“主要” org.hibernate.exception.ConstraintViolationException中的异常:

  18. 18

    请求处理失败;嵌套的异常是org.springframework.dao.DataIntegrityViolationException:无法执行语句;

  19. 19

    线程“主”中的异常org.hibernate.exception.GenericJDBCException:无法使用mySQL打开连接

  20. 20

    org.hibernate.exception.SQLGrammarException:无法执行JDBC批量更新

  21. 21

    Hibernate 未在新线程 {org.hibernate.exception.GenericJDBCException: 无法提取 ResultSet} 中从 DB 加载数据

  22. 22

    Hibernate 4.3无法执行语句

  23. 23

    SQLGrammarException:无法执行语句(PostgreSQL + Hibernate)

  24. 24

    Hibernate 4.3无法执行语句

  25. 25

    org.hibernate.exception.SQLGrammarException:无法准备语句

  26. 26

    org.hibernate.exception.SQLGrammarException:无法准备语句-Spring ROO

  27. 27

    org.hibernate.exception.SQLGrammarException:无法准备语句-Spring ROO

  28. 28

    嵌套的异常是org.hibernate.AnnotationException:mappedBy通过引用未知的目标实体属性

  29. 29

    org.hibernate.exception.ConstraintViolationException:无法插入

热门标签

归档