【发布时间】:2019-08-17 19:43:12
【问题描述】:
当我尝试在我的浏览器上运行 URL 以 GET 所有 产品时,我得到了这个“SQLSyntaxErrorException:Unknown column 'product0_.return_policy' in 'field list'” .
浏览器也显示如下:
出现意外错误(类型=内部服务器错误,状态=500)。 无法提取结果集; SQL [不适用];嵌套异常是 org.hibernate.exception.SQLGrammarException: could not extract ResultSet
returnPolicy 是导致此问题的唯一变量。当我从数据库和 Java 中的 Product 类中删除变量本身时,我能够成功地从数据库中检索所有值。
这是 getAllProducts 方法,它是 RESTController 的一部分:
@RequestMapping(method=RequestMethod.GET, value="/products")
public List<Product> getAllProducts() {
return productService.getAllProducts();
}
当我完全删除 returnPolicy 变量时效果很好。
This是MySQL表的描述:
returnPolicy 列中存储的值:
返回政策
0
0
1
1
1
这是“产品”模型变量的代码:
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="product")
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
private int price;
private String vendor;
private String description;
private Boolean returnPolicy;
产品存储库
@Repository public interface ProductRepository extends JpaRepository<Product, String>{ }
SQL tinyint(Boolean)与Java的Boolean类型的映射是否有问题?
【问题讨论】:
-
我是新手,如果这是一个小问题请见谅
-
非常适合新手的问题。
-
哈哈谢谢。这是我的第一个问题:P
标签: java mysql database spring-boot