spring-boot - 我是spring新手,通过spring-data-jpa连接springboot和mysql-db时遇到这个问题
问题描述
当我在邮递员中到达终点时出现此错误
2021-07-08 16:21:36.244 WARN 11140 --- [nio-8080-exec-1] ohengine.jdbc.spi.SqlExceptionHelper:SQL 错误:1054,SQLState:42S22 2021-07-08 16:21:36.244错误 11140 --- [nio-8080-exec-1] ohengine.jdbc.spi.SqlExceptionHelper:“字段列表”中的未知列“products0_.product_id” 2021-07-08 16:21:36.258 INFO 11140 --- [ nio-8080-exec-1] oheinternal.DefaultLoadEventListener:HHH000327:执行加载命令时出错
org.hibernate.exception.SQLGrammarException:无法提取 ResultSet
引起:java.sql.SQLSyntaxErrorException:“字段列表”中的未知列“products0_.product_id”
java.sql.SQLSyntaxErrorException:“字段列表”中的未知列“products0_.product_id”
实体
@Entity
public class Products {
@Id
private String productId;
private String productName;
private double price;
private String ownerId;
private String imageURL;
private String inStock;
}
//with getter setter and constructors
ProductsServiceImpl.java
package com.akilan.juztradeapi.service;
import com.akilan.juztradeapi.entity.Products;
import com.akilan.juztradeapi.repo.ProductsRepo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ProductsServiceImpl implements ProductsService {
@Autowired
private ProductsRepo productsRepo;
@Override
public List<Products> findAllProducts() {
return productsRepo.findAll();
}
@Override
public void createDepartment(Products products) {
productsRepo.save(products);
}
}
产品回购
package com.akilan.juztradeapi.repo;
import com.akilan.juztradeapi.entity.Products;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ProductsRepo extends JpaRepository<Products,String> {
}
应用程序属性
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.properties.hibernate.format_sql = true
解决方案
感谢您的帮助, 问题是我错过了自动创建表所需的这个属性。
spring.jpa.hibernate.ddl-auto=update
应用程序属性
spring.datasource.url=jdbc:mysql://localhost:3306/tab
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto=update
推荐阅读
- wordpress - 在查询中使用偏移参数时,Wordpress 分页修复或破解?
- .net - .NET to Delphi (string.Substring function)
- javascript - jquery.qrcode.js 渲染到带有徽标的 img
- html - HTML 视频并不总是在 Chrome 中播放
- nativescript - Nativescript 4.1 app-root 与抽屉和登录页面
- c# - 是否可以使用 C# 生成 Visual Studio Code 扩展?
- jquery - 我们是否有类似于 google 应用程序的 jQuery 应用程序选择器插件?
- mysql - sql加入具有不同值的同一列
- mlr - 找不到函数“generateFunctionalANOVAData”
- mysql - SQL lite (Ionic 2) 行中的重复值