在Hibernate中常见的异常

在学习hibernate过程中,遇见了以下几种错误,有的是因为配置文件写的不够细心,有的是因为延迟加载的问题,所以拿出来分享一下。

(1).

org.hibernate.boot.MappingNotFoundException:Mapping (RESOURCE) not found : com/pojo/Dept.hbm.xml :origin(com/pojo/Dept.hbm.xml)

看爆出的异常 说的是Mapping映射找不到,产生这个异常的原因可能是 在maven的pom.xml中没有配置   注意节点只能出现一次,如果原来有,就复制粘进去

<build>
 
<resources>
   
<resource>
     
<directory>src/main/javadirectory>
     
<includes>
       
<include>**/*.xmlinclude>
     
includes
>
     
<filtering>truefiltering>
   
resource
>
   
<resource>
     
<directory>src/main/resourcesdirectory>
     
<includes>
       
<include>**/*.xmlinclude>
       
<include>**/*.propertiesinclude>
     
includes
>
   
resource
>
 
resources
>
build>


(2).修改代码以后没有生效

可能是因为工程没有重新编译

在Hibernate中常见的异常_第1张图片

如果还不管用就把target下classes文件夹清空(不删classes,删里面的内容),再Build->Rebuild Project

在Hibernate中常见的异常_第2张图片

如果是web工程,把target文件夹下和本工程同名的文件夹删掉,再Build ->Rebuild Project



在Hibernate中常见的异常_第3张图片


3.未知实体:

org.hibernate.MappingException: Unknownentity: com.pojo.Dept

原因可能是没写Mapping文件。或者没有把Mapping文件加载到hibernate.cfg.xml中:


4.未知列

ERROR: Unknown column'NAME1' in 'field list'

映射文件(或者是sql语句中)的字段名和数据库不匹配。字段名写错了。

5.数据库不存在

ERROR: Table'test.dept11' doesn't exist


可能是在映射文件里面table的属性名字错了,也有可能是在配置文件里面的关系数据库名字写错了。

6.重复映射列

org.hibernate.MappingException: Repeatedcolumn in mapping for entity: com.pojo.Employee column:

dept_id (should bemapped with insert="false" update="false")

原因是在实体的映射文件中重复映射了某一列,解决办法是

把重复的删掉就好了。或者根据提示,在属性上添加insert="false" update="false"


7级联操作异常,就是你在级联删除啊,级联添加的时候。会出现的错误,这个直接上图片

在Hibernate中常见的异常_第4张图片

类型转换异常

org.hibernate.exception.GenericJDBCException: Could not read entity state fromResultSet : EntityKey[com.pojo.Dept#1]

Caused by:java.sql.SQLException: Invalid value for getInt() -'test111'

 

映射文件中数据类型写错了

实体类和数据库中都是字符串,映射文件中写成了整数。或者就是实体类中的属性类型和数据库中的不匹配。

 














你可能感兴趣的:(错误)