Prerendering can only be used when your application only has static pages. When you want to render variable data (from the database) in your application, you're tied to server-side rendering, which requires NodeJS on the server (which seems to be provided through this GraalVM...).
So if you're in a position where you have NodeJS available on the server, I would surely setup server-side rendering. You will probably need to pass data from Spring Boot to React during SSR. I don't know how either Spring Boot nor React deal with this actually. I only have experience with ASP.NET Core + Angular.
I'm positive that something similar will be out there for Spring Boot and React, but I won't be able to help you with that.
Update
You're (the web browser actually) using client-side rendering anyway, anyhow, anytime.
For SEO purposes, you enable either 1. server-side rendering OR 2. prerendering on top of this.
Server-side rendering actually runs your javascript front-end in NodeJS and returns the result to your backend stack (ASP.NET Core / in your case SpringBoot) which serves it. For this to work, you need to have NodeJS available on the server. However, you'll be able to pass variable data (from the database) to the SPA during SSR.
For prerendering, you need to run an npm
command on your development machine, which generates HTML for all your pages. This results in plain HTML, CSS and javascript files which you need to upload on your very basic file server. As a consequence, you won't be able to display information from your database on your pages.