java代码链接并操作数据库时出现问题总结

1. No query defined for that name

        可能原因:在hibernate.cfg.xml的<mapping>没有配置该实体类的路径。

2.  SQLGrammarException: could not extract ResultSet.
    可能原因:
        1)数据库或表不存在
        2)实体类与表字段对应不上。
3.  在查询数据库时查询数据失败,报错:identifier of an instance of xxx.xxx.类 was altered from xxx to xxx 
    原因:查询的表与映射实体类不对应。
4.   org.hibernate.AnnotationException: No identifier specified for entity
原因:
     在与数据库表映射的实体类中没有用@Id标志主键字段。
     使用了@Id标识了主键。但是,@Id不是javax.persistence.Id,而是其他的Id
     我使用了  import org.springframework.data.annotation.Id;

5. 访问数据表时出现 ERROR: relation "表名" does not exist
     原因是数据库:数据库不存在该表。但是我看数据库中这个表是实际存在的。经过测试原来是建表是语句有问题,建表时不应该用  create table “表名”而应该用  create table 表名 来创建表,且字段也不应该加 双引号。

6.  这个 org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作
解决方案:
     在 application.properties 配置:spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
     在 application.yml 同级目录下添加 hibernate.properties 文件,并配置:hibernate.jdbc.lob.non_contextual_creation=true

     

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值