В настоящее время у меня есть 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);
}
Однако, как только я пытаюсь выполнить автоматическое репо в своем основном классе, я всегда получаю следующее исключение:
Нет подходящего компонента типа 'x.y.z.repository.ICreateUserAtStartup'