22.42분으로 단축 성공약 515.63분 더 빠른 결과 ( 95.78% 빠른 속도를 보여줌)@SpringBootTest
public class GenerateTest {
@Autowired
private StreamRepository streamsRepository;
@Autowired
private AdViewRepository adViewsRepository;
@Autowired
private AdRepository adsRepository;
@Autowired
private VideoRepository videosRepository;
@Autowired
private UserRepository userRepository;
@Autowired
private VideoAdRepository videoAdRepository;
public void generateData(int numRecords) {
Random random = new Random();
Users user = userRepository.findById(1L).orElseThrow(() -> new IllegalArgumentException("User not found"));
List<Videos> videos = videosRepository.findAll();
List<Ads> ads = adsRepository.findAll();
List<VideoAd> videoAds = videoAdRepository.findAll();
for (Videos video : videos) {
for (int i = 0; i < numRecords; i++) {
int playTime = random.nextInt(1800) + 300; // 300초에서 1800초 사이의 랜덤 시간
Streams stream = new Streams();
stream.setCreatedAt(LocalDateTime.now().minusDays(1));
stream.setPlayTime(playTime);
stream.setUser(user);
stream.setVideo(video);
streamsRepository.save(stream);
int numAds = playTime / 300;
for (int j = 0; j < numAds; j++) {
VideoAd videoAd = videoAds.get(random.nextInt(videoAds.size()));
AdViews adView = new AdViews();
adView.setCreatedAt(LocalDate.now().minusDays(1));
adView.setVideoAd(videoAd);
adViewsRepository.save(adView);
}
}
}
}
@Test
public void testGenerateData() {
generateData(10000); // 비디오 개수*10000개 생성
}
}

OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
> Task :test
2024-07-23T11:28:15.058+09:00 INFO 7744 --- [binplay] [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2024-07-23T11:28:15.064+09:00 INFO 7744 --- [binplay] [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2024-07-23T11:28:15.086+09:00 INFO 7744 --- [binplay] [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
BUILD SUCCESSFUL in 26m 55s
4 actionable tasks: 2 executed, 2 up-to-date
AM 11:28:18: Execution finished ':test --tests "com.sparta.binplay.GenerateTest"'.
⚠️ 100,000건 한번에 넣다가 다운됨
