Я получаю это «SQLSyntaxErrorException: неизвестный столбец« product0_.return_policy »в« списке полей »», когда я пытаюсь запустить URL-адрес в своем браузере для GET всех продуктов .
Смотрите здесь
Браузер также показывает следующее:
Произошла непредвиденная ошибка (тип = Внутренняя ошибка сервера, статус = 500).
не удалось извлечь ResultSet; SQL [н / п]; вложенным исключением является org.hibernate.exception.SQLGrammarException: не удалось извлечь ResultSet
returnPolicy - единственная переменная, вызывающая эту проблему. Я могу успешно извлечь все значения из базы данных, когда удаляю саму переменную как из базы данных, так и из класса Product в Java.
Это метод getAllProducts , который является частью RESTController:
@RequestMapping(method=RequestMethod.GET, value="/products")
public List<Product> getAllProducts() {
return productService.getAllProducts();
}
, который отлично работает, когда я полностью удаляю переменную returnPolicy.
Это описание таблицы MySQL:
Значения, хранящиеся в столбце returnPolicy:
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;
* * ProductRepository тысяча сорок-девять
@Repository public interface ProductRepository extends JpaRepository<Product, String>{ }
Есть ли проблема с отображением между SQL tinyint (Boolean) и булевым типом Java?