我正在尝试将init数据加载到h2
我有用户模型
@Entity
public class User {
@Id
@GeneratedValue
private Long id;
private String login;
private String password;
public User() {
}
public User(String login, String password) {
//this.id = id;
this.login = login;
this.password = password;
}
//...getters and setters
}
我的资料库
@Repository
public interface UsersRepository extends CrudRepository<User, Long> {
}
我没有UsersRepository的实现。看起来像spriing-boot为我做,因为我可以保存和检索数据
现在我试图通过将data-h2.sql放入资源
来初始化数据数据h2.sql
INSERT INTO users (login, password) VALUES
('user1', 'pass1'),
('user2', 'pass2');
看起来像某个地方的数据导出
HHH000412:Hibernate Core {5.0.12.Final}
HHH000206:找不到hibernate.properties
HHH000021:字节码提供程序名称:javassist
HCANN000001:Hibernate Commons Annotations {5.0.1.Final}
HHH000400:使用方言:org.hibernate.dialect.H2Dialect
HHH000227:运行hbm2ddl架构导出
HHH000230:架构导出完成
但是当我尝试检索数据时,没有数据
@RestController
@RequestMapping("/api")
public class ApiController {
final UsersRepository usersRepository;
public ApiController(UsersRepository usersRepository) {
this.usersRepository = usersRepository;
}
@GetMapping("/users")
public Iterable<User> getUsers() {
return usersRepository.findAll();
}
}
我缺少什么?提前谢谢......
答案 0 :(得分:0)
答案 1 :(得分:0)
首先在 application.properties 文件
中添加连接属性spring.datasource.url=jdbc:h2:~/Desktop/Database/test;DB_CLOSE_ON_EXIT=FALSE;
spring.datasource.driver-class-name=org.h2.Driver
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
然后
添加模型对象@Table(name = "users")
anotation,如下所示
@Entity
@Table(name = "users")
public class User {
....
}
最后将sql脚本文件名 data-h2.sql 更改为 data.sql