ОШИБКА: отношение «persistent_logins» не существует
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [delete from persistent_logins where username = ?]; nested exception is org.postgresql.util.PSQLException: ОШИБКА: отношение «persistent_logins» не существует
Позиция: 13
При попытке выхода из системы, то есть переход на адрес /logout, появляется ошибка.
Что это такое и как это исправить ?
Насколько я понял, нужно самому реализовать интерфейс PersistentTokenRepository, а кто знает статью где подробно и доступно описано зачем это нужно и как реализовывать методы данного интерфейса ?
JExcelAPI ошибка «Text Object on sheet «*» not supported — omitting»
Обрабатываю excel-файлы, для этого решил использовать JExcelAPI. Некоторые excel-файлы (.xls) не.
Напишите программу на JAVA:которая в строке «а роза упала на лапу азора» находит символ «У» и печатает символы строки до следующего символа «у»
Помогите пожалуйста решить 1) Напишите программу на JAVA:которая в строке "а роза упала на лапу.
Функция MessageBox.Show. Ошибка «Имя «MessageBoxIcon» не существует в текущем контексте.»
private void btnOk_Click(object sender, RoutedEventArgs e) < .
вот эти поновее, но без полных объяснений
Но в них не рассказывается как реализовать механизм remember-me , при использовании Spring data.
A вообще, ошибка исчезает, как только создается таблица.
CREATE TABLE IF NOT EXISTS persistent_logins ( username VARCHAR(64) NOT NULL, series VARCHAR(64) NOT NULL, token VARCHAR(64) NOT NULL, last_used TIMESTAMP NOT NULL, PRIMARY KEY (series) );
при использовании SpringBoot достаточно сделать следующее:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
@Configuration @ComponentScan("Ваш_корневой_каталог_приложения") @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Qualifier(value = "userDetailsServiceImpl") @Autowired private UserDetailsService userDetailsService; @Autowired private PasswordEncoder passwordEncoder; @Qualifier("dataSource") @Autowired private DataSource dataSource; @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/users/**").hasAuthority("ADMIN") .antMatchers("/signUp/**").permitAll() .antMatchers("/").authenticated() .antMatchers("/css/**").permitAll() .anyRequest().authenticated() .and() .formLogin() .usernameParameter("login") .loginPage("/login") .permitAll() .and() .rememberMe() .rememberMeParameter("remember-me") .tokenRepository(tokenRepository()) .and() .logout() .logoutSuccessUrl("/login.html"); http.csrf().disable(); } @Bean public PersistentTokenRepository tokenRepository() { JdbcTokenRepositoryImpl tokenRepository = new JdbcTokenRepositoryImpl(); tokenRepository.setDataSource(dataSource); return tokenRepository; } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { DaoAuthenticationConfigurerAuthenticationManagerBuilder, UserDetailsService> authenticationConfigurer = auth.userDetailsService(this.userDetailsService); authenticationConfigurer.passwordEncoder(this.passwordEncoder); } }
CREATE TABLE IF NOT EXISTS persistent_logins ( username VARCHAR(64) NOT NULL, series VARCHAR(64) NOT NULL, token VARCHAR(64) NOT NULL, last_used TIMESTAMP NOT NULL, PRIMARY KEY (series) );
Больше ничего не надо делать.
При использовании Spring Framework vanilla + Hibenate,
При использовании Spring Framework vanilla + JPA , не знаю, нужно ли что дополнительно.
PSQLException: ОШИБКА: отношение «TABLE_NAME» не существует
Я пытаюсь запустить hibernate в базе данных PostgreSQL 8.4.2. Всякий раз, когда я пытаюсь запустить простой Java-код, например:
List users = service.findAllUsers();
PSQLException: ERROR: relation "TABLE_NAME" does not exist
Так как у меня есть опция hibernate.show_sql, которая установлена в true, я вижу, что hibernate пытается запустить следующую команду SQL:
select this_.USERNAME as USERNAME0_0_, this_.PASSWORD as PASSWORD0_0_ from "TABLE_NAME" this_
select this_."USERNAME" as USERNAME0_0_, this_."PASSWORD" as PASSWORD0_0_ from "SCHEMA_NAME"."TABLE_NAME" as this_
Кто-нибудь знает, какие изменения мне нужно сделать для Hibernate для создания правильного SQL для PostgreSQL? Я установил необходимый источник данных postgreSQL в файле applicationContext.xml:
com.myPackage.dbEntities.domain.User
org.hibernate.dialect.PostgreSQLDialect true
@Entity @Table(name = "`TABLE_NAME`") public class User < @Id @Column(name = "USERNAME") private String username;
Кто-нибудь сталкивался с подобной ошибкой?. Любая помощь в решении этой проблемы будет высоко оценена. Обратите внимание, что вопрос отличается от сообщения Нельзя просто использовать имя таблицы PostgreSQL ( "отношения не существует" ) Извините за длинный пост.
просто чтобы спросить очевидное: имеет ли учетная запись пользователя, обращающегося к базе данных, разрешения на просмотр таблицы TABLE_NAME? (если вы указали схему в соединении, не исключено, что имя схемы будет опущено при выборе режима гибернации).
Да, у меня на столе есть следующее разрешение: ALTER TABLE "SCHEMA_NAME". "TABLE_NAME" ВЛАДЕЛЕЦ ДЛЯ postgres;