尝试启动应用程序时,它被终止。我正在尝试进行 oneToMany 和 ManyToOne 映射。有人请帮助我成功启动应用程序,这里我使用 Mysql 添加必要的代码片段进行分析。我也为这两个实体创建了存储库接口。请帮助我解决这个问题。
错误:
No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
[2m2024-01-06T20:31:20.359+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mj.LocalContainerEntityManagerFactoryBean[0;39m [2m:[0;39m Initialized JPA EntityManagerFactory for persistence unit 'default'
日志:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
[32m :: Spring Boot :: [39m [2m (v3.2.1)[0;39m
[2m2024-01-06T20:31:17.636+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mc.j.e.EmployeeAddressApplication [0;39m [2m:[0;39m Starting EmployeeAddressApplication using Java 17.0.8.1 with PID 14920 (C:\Users\kamak\Downloads\employee-address\employee-address\target\classes started by kamak in C:\Users\kamak\Downloads\employee-address\employee-address)
[2m2024-01-06T20:31:17.639+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mc.j.e.EmployeeAddressApplication [0;39m [2m:[0;39m No active profile set, falling back to 1 default profile: "default"
[2m2024-01-06T20:31:18.096+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36m.s.d.r.c.RepositoryConfigurationDelegate[0;39m [2m:[0;39m Bootstrapping Spring Data JPA repositories in DEFAULT mode.
[2m2024-01-06T20:31:18.122+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36m.s.d.r.c.RepositoryConfigurationDelegate[0;39m [2m:[0;39m Finished Spring Data repository scanning in 15 ms. Found 0 JPA repository interfaces.
[2m2024-01-06T20:31:18.458+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mo.hibernate.jpa.internal.util.LogHelper [0;39m [2m:[0;39m HHH000204: Processing PersistenceUnitInfo [name: default]
[2m2024-01-06T20:31:18.514+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36morg.hibernate.Version [0;39m [2m:[0;39m HHH000412: Hibernate ORM core version 6.4.1.Final
[2m2024-01-06T20:31:18.554+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mo.h.c.internal.RegionFactoryInitiator [0;39m [2m:[0;39m HHH000026: Second-level cache disabled
[2m2024-01-06T20:31:18.777+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mo.s.o.j.p.SpringPersistenceUnitInfo [0;39m [2m:[0;39m No LoadTimeWeaver setup: ignoring JPA class transformer
[2m2024-01-06T20:31:18.818+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mcom.zaxxer.hikari.HikariDataSource [0;39m [2m:[0;39m HikariPool-1 - Starting...
[2m2024-01-06T20:31:19.207+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mcom.zaxxer.hikari.pool.HikariPool [0;39m [2m:[0;39m HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@463afa6e
[2m2024-01-06T20:31:19.209+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mcom.zaxxer.hikari.HikariDataSource [0;39m [2m:[0;39m HikariPool-1 - Start completed.
[2m2024-01-06T20:31:20.211+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mo.h.e.t.j.p.i.JtaPlatformInitiator [0;39m [2m:[0;39m HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
[2m2024-01-06T20:31:20.359+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mj.LocalContainerEntityManagerFactoryBean[0;39m [2m:[0;39m Initialized JPA EntityManagerFactory for persistence unit 'default'
[2m2024-01-06T20:31:20.742+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ main][0;39m [2m[0;39m[36mc.j.e.EmployeeAddressApplication [0;39m [2m:[0;39m Started EmployeeAddressApplication in 3.537 seconds (process running for 4.325)
[2m2024-01-06T20:31:20.759+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ionShutdownHook][0;39m [2m[0;39m[36mj.LocalContainerEntityManagerFactoryBean[0;39m [2m:[0;39m Closing JPA EntityManagerFactory for persistence unit 'default'
[2m2024-01-06T20:31:20.764+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ionShutdownHook][0;39m [2m[0;39m[36mcom.zaxxer.hikari.HikariDataSource [0;39m [2m:[0;39m HikariPool-1 - Shutdown initiated...
[2m2024-01-06T20:31:20.780+05:30[0;39m [32m INFO[0;39m [35m14920[0;39m [2m---[0;39m [2m[EMPLOYEE-ADDRESS] [ionShutdownHook][0;39m [2m[0;39m[36mcom.zaxxer.hikari.HikariDataSource [0;39m [2m:[0;39m HikariPool-1 - Shutdown completed.
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.jagan</groupId>
<artifactId>employee-address</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>employee-address</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
应用程序属性
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update
spring.application.name=EMPLOYEE-ADDRESS
server.port=8084
地址.java
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Entity
@Table(name = "address")
@Data
//@AllArgsConstructor
//@NoArgsConstructor
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int addressId;
private String houseNumber;
private String city;
@ManyToOne
@JoinColumn(name = "emp_id")
private Employee employee;
}
Employee.java
import java.util.List;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Entity
@Table(name = "employee")
@Data
//@AllArgsConstructor
//@NoArgsConstructor
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int empId;
private String empName;
@OneToMany(mappedBy = "employee")
private List<Address> address;
}
首先:
HHH000489: No JTA platform available
不是一个错误。只是一条在 INFO 级别记录的消息。我每次都得到同样的结果。
其次:从你的
pom.xml
来看,它不是一个Web应用程序。不会启动任何嵌入式 Tomcat 服务器。对于您的 Spring Boot 应用程序来说,除了正常启动和关闭而不出现任何错误之外,无需执行任何操作。
一切都按预期进行。
解决方案
根据您的要求添加一些代码和/或依赖项,因为目前您的应用程序似乎什么也不做。