异常1.Error parsing JNDI name [foo]

异常信息摘要:

org.hibernate.engine.jndi.JndiException: Error parsing JNDI name [foo]
at org.hibernate.engine.jndi.internal.JndiServiceImpl.parseName(JndiServiceImpl.java:141)
  • 1
  • 2

异常信息说明:不能解析连接池foo

拷贝官方配置文件hibernate.cfg.xml的里面<session-factory name=”foo”>默认包含此foo属性配置,此异常不过是不影响运行的结果

解决思路:删除name=”foot”即可


异常2.org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [com.mysql.jdbc.Driver]

异常信息摘要:

org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [com.mysql.jdbc.Driver]
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:243)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.loadDriverIfPossible(DriverManagerConnectionProviderImpl.java:200)
  • 1
  • 2
  • 3

异常信息说明:不能加载mysql驱动 
解决思路:拷贝mysql驱动至classpath或者修改maven的pom.xml

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

异常3.密码错误

异常信息摘要:

org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
  • 1
  • 2

异常信息说明:不能获取连接

解决思路:修改mysql的密码至正确

密码写错或者connection.pasword少写一个s字母
<property name="connection.pasword">12345</property>
  • 1
  • 2

异常4.连接数据库url错误

异常信息摘要:

java.lang.UnsupportedOperationException: The application must supply JDBC connections
<property name="connection.urls">jdbc:mysql:///hibernate</property>
org.hibernate.HibernateException: Unable to make JDBC Connection [jdbc:mysql6:///hibernate]
<property name="connection.url">jdbc:mysql:///hibernate</property>
  • 1
  • 2
  • 3
  • 4

异常信息说明:url地址或者key写错

解决思路:修改url地址或者key

<property name="connection.url">jdbc:mysql:///hibernate</property>
  • 1

异常5.未知实体类

异常信息摘要:

org.hibernate.MappingException: Unknown entity: com.jege.hibernate.single.table.User
at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1096)
at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1443)
  • 1
  • 2
  • 3

异常信息说明:映射异常,hibernate配置文件没有加载映射文件

解决思路:在配置文件中通过mapping元素将映射文件加载进来

<mapping resource="com/jege/hibernate/single/table/User.hbm.xml" />
  • 1

异常6.全类名写错

异常信息摘要:

org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/jege/hibernate/single/table/User.hbm.xml
Caused by: org.hibernate.MappingException: class com.jege.hibernate.single.table.User.User not found while looking for property: id
Caused by: java.lang.ClassNotFoundException: com.jege.hibernate.single.table.User.User
<hibernate-mapping package="com.jege.hibernate.single.table.User">
<class name="User" table="t_user">
  • 1
  • 2
  • 3
  • 4
  • 5

异常信息说明:映射文件全类名不正确

解决思路:修改全类名

属性package只写包路径,不要将类名也写进去
<hibernate-mapping package="com.jege.hibernate.single.table">
<class name="User" table="t_user">
  • 1
  • 2
  • 3

异常7.属性名写错

异常信息摘要:

org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/jege/hibernate/single/table/User.hbm.xml
Caused by: org.hibernate.PropertyNotFoundException: field [userUame] not found on com.jege.hibernate.single.table.User <property name="userUame" column="name" />
  • 1
  • 2
  • 3
  • 4

异常信息说明:映射文件属性名不正确

解决思路:修改属性名

<property name="username" column="name" />
  • 1

异常8.对象不存在

异常信息摘要:

org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.jege.hibernate.single.table.User#5]

User user = (User)session.load(User.class, 5L);
System.out.println(user.getPassword());
  • 1
  • 2
  • 3
  • 4

异常信息说明:load方法没有找到对应的主键的实体

解决思路:使用get方法替换load,判断返回值是否null

User user = (User) session.get(User.class, 5L);
if (user != null) {
System.out.println(user.getPassword());
}

引用原文:https://blog.csdn.net/je_ge/article/details/53875649

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步!

如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

Hibernate 菜鸟教程 异常 集锦的更多相关文章

  1. JPA 系列教程 异常 集锦

    异常1.hibernate升级到3.5版本 异常信息摘要: Associations marked as mappedBy must not define database mappings like ...

  2. 学习笔记之C# 教程 | 菜鸟教程

    C# 教程 | 菜鸟教程 http://www.runoob.com/csharp/csharp-tutorial.html 菜鸟教程在线编辑器 http://www.runoob.com/try/r ...

  3. 学习笔记|JSP教程|菜鸟教程

    学习笔记|JSP教程|菜鸟教程 ------------------------------------------------------------------------------------ ...

  4. JSP 标准标签库(JSTL)(菜鸟教程)

    菜鸟教程 JSTL 1.1 与 JSTL 1.2 之间的区别?如何下载 JSTL 1.2? JSTL 1.2 中不要求 standard.jar 包. 您可以在 Maven 中央仓库中找到它们. ht ...

  5. nodeJS菜鸟教程笔记

    http模块 var http = require('http'); // 引入http模块 var url = require('url'); // 引入url模块 var querystring ...

  6. MySQL教程 | 菜鸟教程

    装数据库失败后的重装步骤!!! --[创建数据库]CREATE DATABASE <数据库名>: --使用mysqladamin 创建数据库-- 使用普通用户,你可能需要特定的权限来创建或 ...

  7. 菜鸟教程 Python100例 之实例29

    学习编程的路,走得好艰辛... 为了巩固基础知识,把菜鸟教程网上的实例拿来练习.. 在做到实例29时,看了网站给出的代码,觉得可以加强一下功能,不由得动了一下脑筋,如下: 原文题目: 题目:给一个不多 ...

  8. 【转载】jQuery Validate 菜鸟教程

    文章1:http://www.runoob.com/jquery/jquery-plugin-validate.html          (jQuery Validate 菜鸟教程)

  9. Hibernate详细教程

    一.搭建Hibernate环境 1.在src目录下创建hibernate.cfg.xml配置文件 PS:文件的名字不能改! <?xml version="1.0" encod ...

随机推荐

  1. 第三篇:POSIX标准中的 “ 限制 ”

    前言 在POSIX标准中,定义了许多限制.这些限制大约分为五类,不同类型的限制获取的方式不一样. 限制值分类 1. 不变的最小值 这类型的限制值是静态的,固定的. 2. 不变值 同上 3. 运行时可以 ...

  2. Direct Line Guidance Odometry论文阅读笔记

    摘要: 本文特色:使用线引导关键点的选择.本文提出这个的论点是:线上的点比图像的其他部分的点更好,而且线上存在更好的关键点.选择线上的点可以筛选过滤掉不太明显的点,从而提高效率. 点和线: 系统使用点 ...

  3. Powershell Function Get-PendingReboot

    获取系统中Restart Pending的计算机 $servers=get-content D:\serverlist.txt Get-PendingReboot -ComputerName $ser ...

  4. Linux文档编辑 vim

  5. BLOCK方式实现OC程序中多个页面判定用户是否登录

    在程序中经常会遇到这种情况,用户刚进入我们软件的时候我们是无需要求用户登录的,但是在下面的页面中,例如收藏,购买等页面的时候,显然在多个页面需要多次判定用户是否登录.试着用block简单的实现了一下该 ...

  6. WebService 综合案例

    1. 需求: 集成公网手机号归属地查询服务; 对外发布自己的手机号归属地查询服务; 提供查询界面 //1. 使用 wsimport 生成公网客户端代码 // 2. 创建 SEI 接口 @WebServ ...

  7. pycharm调试

    pycharm调试 flask app调试: 1.打开edit configurations面板 run===>edit configurations(图一或图二处都可以) 2.配置项目信息 点 ...

  8. 编译Elasticsearch源码

    1.从github上clone  es的源码 git clone https://github.com/elastic/elasticsearch.git 2.如果没有安装gradle的话,需要安装g ...

  9. Android 屏幕切换动画

    public void overridePendingTransition (int enterAnim, int exitAnim) Call immediately after one of th ...

  10. 初识Locust---认识

    性 能测试工具: 基于Python的性能测试工具-locust 现在性能测试方面有很多测试工具,比如我们熟悉的loadrunner.jmeter.ab等,用过的也就是这几种,如果是学过这些工具的可能对 ...