Ich verwende Spring Boot, um eine Anwendung zu erstellen. Meine Anwendung wird ausgeführt, wenn ich den Endpunkt erreichJava

Java-Forum
Guest
 Ich verwende Spring Boot, um eine Anwendung zu erstellen. Meine Anwendung wird ausgeführt, wenn ich den Endpunkt erreich

Post by Guest »

Ich verwende die H2-Datenbank und habe nach dem Ausführen der Anwendung auch in der H2-Datenbank überprüft, ob Daten vorhanden sind oder nicht, indem ich die SQL-Auswahlabfrage ausgeführt habe, in der ich die Datentabelle mit allen Daten erhalten habe, aber das ist nicht der Fall Wird im Browser angezeigt, wenn ich den Endpunkt erreiche.
Dies sind die Protokolldaten, die ich im Terminal erhalten habe

Code: Select all

2024-12-23T22:50:50.852-06:00  INFO 20588 --- [ecom-proj] [  restartedMain] o.h.c.internal.RegionFactoryInitiator    : HHH000026: Second-level cache disabled
2024-12-23T22:50:51.101-06:00  INFO 20588 --- [ecom-proj] [  restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo      : No LoadTimeWeaver setup: ignoring JPA class transformer
2024-12-23T22:50:51.166-06:00  INFO 20588 --- [ecom-proj] [  restartedMain] org.hibernate.orm.connections.pooling    : HHH10001005: Database info:
Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)']
Database driver: undefined/unknown
Database version: 2.3.232
Autocommit mode: undefined/unknown
Isolation level: undefined/unknown
Minimum pool size: undefined/unknown
Maximum pool size: undefined/unknown
2024-12-23T22:50:51.757-06:00  INFO 20588 --- [ecom-proj] [  restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
Hibernate:
create table product (
id integer generated by default as identity,
available boolean not null,
brand varchar(255),
category varchar(255),
description varchar(255),
name varchar(255),
price numeric(38,2),
quantity integer not null,
release_date timestamp(6),
primary key (id)
)
2024-12-23T22:50:51.797-06:00  INFO 20588 --- [ecom-proj] [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2024-12-23T22:50:52.335-06:00  INFO 20588 --- [ecom-proj] [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2024-12-23T22:50:52.367-06:00  INFO 20588 --- [ecom-proj] [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path '/'
2024-12-23T22:50:52.375-06:00  INFO 20588 --- [ecom-proj] [  restartedMain] c.telusko.ecom_proj.EcomProjApplication  : Started EcomProjApplication in 3.504 seconds (process running for 3.906)
2024-12-23T22:50:57.174-06:00  INFO 20588 --- [ecom-proj] [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2024-12-23T22:50:57.174-06:00  INFO 20588 --- [ecom-proj] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2024-12-23T22:50:57.175-06:00  INFO 20588 --- [ecom-proj] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
Ich habe das Debuggen mit verschiedenen Schritten versucht,

[*]überprüft, ob die Datenbank durch Ausführen erstellt wird oder nicht SQL-Abfrage in der H2-Konsole.

[*]Hibernate-Cache deaktiviert.


Ich möchte herausfinden, warum ich keine Daten im Browser anzeigen kann, wenn ich auf klicke Endpunkt.
Unten ist mein Controller-Code mit den Endpunkten.

Code: Select all

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/api")
public class ProductController {

@Autowired
private ProductService service;

@RequestMapping("/home")
public String greet(){
return "Hello World";
}

@GetMapping("/products")
public List
  getAllProducts(){

return service.getAllProducts();

}
}
Dies ist mein application.properties-Code

Code: Select all

spring.application.name=ecom-proj

spring.datasource.url=jdbc:h2:mem:telusko

spring.datasource.driverClassName=org.h2.Driver

spring.jpa.show-sql=true

spring.sql.init.mode=always

spring.datasource.initialization-mode=always

spring.jpa.hibernate.ddl-auto=update

spring.jpa.open-in-view=false

spring.jpa.properties.hibernate.format_sql=true

spring.datasource.logSql=true

spring.jpa.defer-datasource-initialization=true

spring.jpa.properties.hibernate.cache.use_second_level_cache=false
spring.jpa.properties.hibernate.cache.region.factory_class=org.hibernate.cache.internal.NoCachingRegionFactory

Wenn ich den Ruhezustand-Cache aktiviert habe, wird die Anwendung nicht einmal ausgeführt, aber wenn ich sie deaktiviert habe, läuft sie korrekt, aber ich erhalte die leeren Daten, wenn ich auf drücke
http://localhost:8080/api/products Endpunkt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post