我正在使用Spring Boot 1.5.2.RELEASE开发一个项目,其任务是添加数据库支持的HTTP会话。
所以,我很容易在2.0.0.RELEASE中工作,应用程序启动并创建表 spring_session 和 spring_session_attributes
这是我添加到更高版本的属性:
spring.session.store-type=jdbc
spring.session.jdbc.initialize-schema=ALWAYS
看看spring-boot 1.5.2.RELEASE它似乎使用spring-session 1.3.0.RELEASE作为托管版本,所以我在这里找到了文档:https://docs.spring.io/spring-session/docs/1.3.0.RELEASE/reference/html5/guides/httpsession-jdbc.html
无论我尝试什么,我都会收到以下错误:
Whitelabel错误页面此应用程序没有明确的映射 /错误,所以你看到这是一个后备。 3月20日星期二14:02:06 GMT 2018出现意外错误(type = Internal Server Error, 状态= 500)。 PreparedStatementCallback;糟糕的SQL语法[SELECT S.SESSION_ID,S.CREATION_TIME,S.LAST_ACCESS_TIME, S.MAX_INACTIVE_INTERVAL,SA.ATTRIBUTE_NAME,SA.ATTRIBUTE_BYTES FROM SPRING_SESSION S LEFT OUTER加入SPRING_SESSION_ATTRIBUTES SA ON S.SESSION_ID = SA.SESSION_ID WHERE S.SESSION_ID =?];嵌套异常 是org.postgresql.util.PSQLException:错误:关系“spring_session” 不存在位置:127
这是我的application.properties(我试图让表格出现在我的PostgreSQL数据库中) - 这些表格应该自动为我创建,对吗?
spring.datasource.url=jdbc:postgresql://localhost:5432/sandbox
spring.datasource.password=sandbox
spring.datasource.username=sandbox
spring.thymeleaf.cache=false
spring.template.cache=false
spring.session.store-type=jdbc
spring.session.jdbc.initializer.enabled=true
答案 0 :(得分:0)
添加此内容后可以尝试吗? spring.session.jdbc.table名= SPRING_SESSION
答案 1 :(得分:0)
不幸的是我无法自动创建表,所以我挖掘了模式的spring-session jar文件并手动创建它们。好消息是会话现在保存在我的数据库中了!