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