我正在尝试在我的 H2 数据库中加载一些数据以进行一些测试。为此,我在 src/main/ressources 文件夹中有一个 data-h2.sql 文件。问题是这些数据是在创建模式之前加载的(这是我的理论)。
这是我的代码:
类别.java:
[...]
@Entity
@Table(name="category")
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank(message = "label is required")
private String label;
[...]
}
Run Code Online (Sandbox Code Playgroud)
应用程序属性:
spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE;IGNORECASE=TRUE;
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=sa
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
server.error.include-message=always
spring.sql.init.platform=h2
Run Code Online (Sandbox Code Playgroud)
数据-h2.sql:
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
INSERT INTO `category` VALUES
('Jeu video'),
('Informatique'),
('Electronique'),
('Jeu de …Run Code Online (Sandbox Code Playgroud)