【发布时间】:2019-01-14 19:06:01
【问题描述】:
目前,我有一个 import.sql,我可以使用它在我的数据库中导入一些测试数据。现在,我想把它带到我们的生产系统中,到目前为止我读到的是我不应该在生产中使用 import.sql。
因此,我认为我可以使用@Postconstruct 创建一些东西。
因此,我在主应用程序类中创建了类似的东西:
@Autowired
ICreateUserAtStartup repo;
@PostConstruct
public void initIt() throws Exception {
Rolle r = new Rolle();
r.setBezeichnung("xxx");
r.setId(1L);
r.setCreatedAt(new Date(2019, 01, 14));
repo.insertRolle(1L, "xxx");
}
在一个单独的文件中,我创建了以下界面:
@Repository
public interface ICreateUserAtStartup {
@Modifying
@Query("insert into benutzer(id, created_at, anzeigename,
benutzername, dienstnummer, active, passwort) SELECT :id,
:created_At, :anzeigename, :benutzername, :dienstnummer, :active,
:passwort")
void insertBenutzer(@Param("id") Long id, @Param("created_at")
String created_at, @Param("anzeigename") String anzeigename,
String benutzername, String dienstnummer, Boolean active, String password);
@Modifying
@Query("insert into rolle(id, bezeichnung) SELECT (:id,
:bezeichnung)")
void insertRolle(@Param("id") Long id, @Param("bezeichnung")
String bezeichnung);
}
但是,一旦我尝试在我的主类中自动装配 repo,我总是会遇到以下异常:
没有可用的“x.y.z.repository.ICreateUserAtStartup”类型的合格 bean
【问题讨论】: