Hibernate 菜鸟教程 异常 集锦
异常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 菜鸟教程 异常 集锦的更多相关文章
- JPA 系列教程 异常 集锦
异常1.hibernate升级到3.5版本 异常信息摘要: Associations marked as mappedBy must not define database mappings like ...
- 学习笔记之C# 教程 | 菜鸟教程
C# 教程 | 菜鸟教程 http://www.runoob.com/csharp/csharp-tutorial.html 菜鸟教程在线编辑器 http://www.runoob.com/try/r ...
- 学习笔记|JSP教程|菜鸟教程
学习笔记|JSP教程|菜鸟教程 ------------------------------------------------------------------------------------ ...
- JSP 标准标签库(JSTL)(菜鸟教程)
菜鸟教程 JSTL 1.1 与 JSTL 1.2 之间的区别?如何下载 JSTL 1.2? JSTL 1.2 中不要求 standard.jar 包. 您可以在 Maven 中央仓库中找到它们. ht ...
- nodeJS菜鸟教程笔记
http模块 var http = require('http'); // 引入http模块 var url = require('url'); // 引入url模块 var querystring ...
- MySQL教程 | 菜鸟教程
装数据库失败后的重装步骤!!! --[创建数据库]CREATE DATABASE <数据库名>: --使用mysqladamin 创建数据库-- 使用普通用户,你可能需要特定的权限来创建或 ...
- 菜鸟教程 Python100例 之实例29
学习编程的路,走得好艰辛... 为了巩固基础知识,把菜鸟教程网上的实例拿来练习.. 在做到实例29时,看了网站给出的代码,觉得可以加强一下功能,不由得动了一下脑筋,如下: 原文题目: 题目:给一个不多 ...
- 【转载】jQuery Validate 菜鸟教程
文章1:http://www.runoob.com/jquery/jquery-plugin-validate.html (jQuery Validate 菜鸟教程)
- Hibernate详细教程
一.搭建Hibernate环境 1.在src目录下创建hibernate.cfg.xml配置文件 PS:文件的名字不能改! <?xml version="1.0" encod ...
随机推荐
- numpy 和 pandas 中常用的一些函数及其参数
numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中. numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值. ...
- Android去掉标题的方法
我们写程序的时候经常要全屏显示或者不显示标题.比如我们做地图导航的时候就不要标题了,下面介绍三种方法来实现Android去掉标题. 第一种:也一般入门的时候经常使用的一种方法 在setContentV ...
- 【BZOJ3875】[Ahoi2014&Jsoi2014]骑士游戏 SPFA优化DP
[BZOJ3875][Ahoi2014&Jsoi2014]骑士游戏 Description [故事背景] 长期的宅男生活中,JYY又挖掘出了一款RPG游戏.在这个游戏中JYY会扮演一个英勇的 ...
- InetAddress类和InetSocketAddress的使用
一简介 InetAddress是Java对IP地址的封装,代表互联网协议(IP)地址:InetAddress对象的获取只能通过静态方法,比如根据主机名获取主机的ip地址封装对象: ? 1 InetAd ...
- 阿里巴巴Java开发规约IDEA插件安装及使用
技术交流群:233513714 一.通过Jetbrains官方仓库安装 1. 打开 Settings >> Plugins >> Browse repositories.. ...
- JAVA 遍历文件夹下的所有文件(递归调用)
package file; import java.io.File; public class Test1 { public static void main(String[] args) { Str ...
- Java 之多线程通信(等待/唤醒)
多线程间通信: 多个线程在处理同一个资源, 但是任务却不同. 等待/唤醒机制 涉及的方法 wait(): 让线程处于冻结状态, 被 wait() 的线程会被存储到线程池中 notify(): 唤醒线程 ...
- 标准编译安装(configure make)
./configure --prefix=安装目录 这里注意,安装目录可以自己选择地方,但是自己选择地方的话就要把编译出的bin.include.lib三个文件夹分别加入XXX XXX XXX三个 ...
- Docker libnetwork(CNM)设计简介
The Container Network Model CNM由以下三个组件构成:Sandbox,Endpoint以及Network Sandbox 一个Sandbox包含了一个容器网络栈的配置.其中 ...
- Tensorflow神经网络进行fiting function
使用Tensorflow中的神经网络来拟合函数(y = x ^ 3 + 0.7) # -*- coding:utf-8 -*-import tensorflow as tf import numpy ...