1、

初次使用hibernate,在配置文件时出现下面的异常:

org.hibernate.boot.InvalidMappingException: Could not parse mapping document: com/myhibernatedemo/entity/Product.hbm.xml (RESOURCE)

*********************
Caused by: org.hibernate.boot.MappingException: Unable to perform unmarshalling at line number 6 and column 57. Message: cvc-pattern-valid: 对于类型为 'ClassNameType' 的模式 '([a-zA-Z_$][a-zA-Z\d_$]*\.)*[a-zA-Z_$][a-zA-Z\d_$]*', 值 'com/myhibernatedemo/entity' 不具有面有效性。 : origin(com/myhibernatedemo/entity/Product.hbm.xml)


错误原因是:不能解析映射文件。如下图所示,package的路径格式不支持,将上图标识格式更改成下图即可

 

不知道为什么上传的图片一直不能显示,就用文字说明:将Product.hbm.xml的package="com/myhibernatedemo/entity"更改为package="com.myhibernatedemo.entity"即可。

 

2、

 

这是主要是因为数据库驱动在5.0之前和之后去所改变,根据自己的数据库驱动做修改

org.hibernate.dialect.MySQL5Dialect:新版本的mysql方言 
org.hibernate.dialect.MySQLDialect :老版本的mysql方言 

如果你配置的是老版本的方言,可以修改成新版本的方言。 

注:  hibernate运行通过,但没有数据库没有创建表,可能原因

1.主键使用字符串过长
2.bean属性中有关键字

3.hibernate.cfg.xml文件中缺少了一个自动创建数据库表的语句:

        <property name="hibernate.hbm2ddl.auto">update</property>

4.检查setter//getter方法,看是否有例如boolean属性的getter方法为isXXX
5.修改数据库方言将数据库方言,即新老版本问题。

 

 

3、

Hibernate出现java.lang.NullPointerException异常,什么问题?位置代码如图所示

 

为什么会出现空指针异常呢?

方框为添加的内容,添加后就不会出现空指针异常问题了。应该是静态代码块优先执行的原因。

 4、Could not locate getter method for property [cn.itcast.entity3.User#uid]

可能是实体类的get、set方法不对,仔细检查

posted on 2019-07-27 15:10  水Wu痕消  阅读(239)  评论(0编辑  收藏  举报