zoukankan      html  css  js  c++  java
  • hibernate1相关错误

    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-Zd_$]*.)*[a-zA-Z_$][a-zA-Zd_$]*', 值 '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方法不对,仔细检查

  • 相关阅读:
    python ModuleNotFoundError: No module named 'requests' 的 解决方案
    Win环境下如何在cmd运行python文件
    阿里云ECS服务器连接RDS数据库
    mysql5.6采集数据插入出现MySQL server has gone away解决办法
    Ubuntu 18.04 单系统U盘安装
    查看ubuntu系统是32位还是64位,查看系统版本
    Ubuntu 18.04 设置固定的静态ip
    Ubuntu 18.04 新系统 允许root远程登录设置方法
    ubuntu 新系统 使用root用户登录
    Ubuntu 18.04远程登录服务器--ssh的安装和配置
  • 原文地址:https://www.cnblogs.com/zyk2019/p/11255173.html
Copyright © 2011-2022 走看看