Staram się napisać symulator giełdy kryptowalut. Problem pojawił się w chwili, gdy chcę zaimplementować dodawanie ofert. Pierwszą myślą jak to zrobić, jest zrobienie z Usera zmiennej sesyjnej i dodawanie do Listy ofert Jsona przez RequestBody. Więc odpaliłem tutorial z:
https://docs.spring.io/spring-session/docs/current/reference/html5/guides/boot-jdbc.html#httpsession-jdbc-boot-sample
i robiłem krok po kroku co jest tam opisane. Gdy pierwszy raz skompilowałem program, dostałem wyjątek:
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [DELETE FROM SPRING_SESSION WHERE EXPIRY_TIME < ?]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'database.spring_session' doesn't exist
Utworzyłem ręcznie tablice Spring_Session (jako @Entity z polem Id i expiryTime).Czy jest to poprawne? Czy jest to dobry sposób na rozwiązanie problemu? Jeżeli tak, to czy teraz w tej Encji mam dodać Usera? Jak potem wydobyć z sesji "tego specyficznego usera"? Jeżeli coś to pomoże, to korzystam z MySql.
Drugie pytanie: czym są te atrybuty schema i initialize-schema? Jeżeli dobrze myślę, to te atrybuty odpowiadają za to, jeśli bym chciał zrobić z aplikacji aplikację stand-alone i byłyby one wykorzystywane jako baza danych tak? Co w przypadku, kiedy chcę zapisywać dane lokalnie u siebie? Jakie wartości te atrybuty powinny mieć.
Jeżeli komuś coś to pomoże, to tutaj link do repo: https://github.com/KamLar/market-simulator