Ich bin neu auf Spring-Boot. Ich erstellte eine einfache JPA-App, die web
und H2
und JPA
Abhängigkeit verwenden. Ich möchte eine eingebettete Datenbank mit h2 haben und JPA verwenden, um sich mit einigen Anfragen zu verbinden.Spring-Boot: JPA-Abfrage (JPQL) funktioniert nicht, funktioniert aber bei Änderung der systemeigenen Abfrage
habe ich die lokale Tabelle in schema.sql
und diesen Code setzen:
drop TABLE if EXISTS stock;
CREATE TABLE stock(stockId INT ,companyName VARCHAR(20),price DECIMAL (10,2)
);
INSERT INTO stock VALUES (1,'apple',345.01);
INSERT INTO stock VALUES (2,'google',8999.00);
INSERT INTO stock VALUES (3,'kashky',56.60);
Ich habe auch die Aktie wie folgt aus:
@Entity
public class Stock {
@Id
private int stockId;
private String companyName;
private double price;
... with all setter and getters
}
und das ist mein application.properties
spring.jpa.hibernate.ddl-auto=none
server.port=9090
Java Persistence Query Language (JPQL) funktioniert nicht, aber wenn ich in native qu ändern es funktioniert es gut.
dieser Code, der alle meine Aufzeichnungen und nicht funktioniert zurückkehren sollte:
@SpringBootApplication
@RestController
public class SpringDataTestApplication {
@Autowired
private EntityManager em;
@RequestMapping("/stocks")
public List<Stock> stocks(){
return em.createQuery("select s from Stock s").getResultList();
}
wenn ich Abfrage auf einheitlichem Modus ändern, ist es funktioniert:
@RequestMapping("/stocks")
public List<Stock> stocks(){
return em.createNativeQuery("select * from Stock").getResultList();
}
und das ist der Fehler:
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Wed Jan 25 12:51:38 IRST 2017
There was an unexpected error (type=Internal Server Error, status=500).
org.hibernate.exception.SQLGrammarException: could not prepare statement
Warum das passiert? Ich denke, ich habe ein Problem mit JPA Ursache in später kann ich nicht einmal verwenden StockRepository
, dass ich nicht in Code erwähnen, aber ich denke, all dies ist angekettet zu sammeln.
Bitte posten Sie die gesamte Ausnahme stacktrace, nicht nur die Nachricht. Außerdem: Sind das die tatsächlichen Spalten/Klasseneigenschaften, die Sie haben, oder ist dies ein vereinfachtes Beispiel und es gibt mehr?Wenn es mehr gibt: bitte poste sie alle – Gimby
nein, das ist das ganze Beispiel und Dateien. ok ich werde sie aktualisieren – Kenji