Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 14
Регистрация: 26.01.2016
Сообщений: 481

Spring hibernate postgreSQL

26.09.2016, 18:22. Показов 968. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Перевожу для деплоя БД из MySQL в PostgreSQL
Ну и весь проект меняю.

Была такая БД на MySQL:

Кликните здесь для просмотра всего текста
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE TABLE `users` (
  `name` VARCHAR(45) NOT NULL,
  `email` VARCHAR(45) DEFAULT NULL,
  `password` VARCHAR(45) DEFAULT NULL,
  `login_date` datetime DEFAULT NULL,
  `verification` VARCHAR(45) DEFAULT NULL,
  `active` INT(11) DEFAULT '0',
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
 
CREATE TABLE `user_role` (
  `ID` INT(11) NOT NULL AUTO_INCREMENT,
  `NAME` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
 
CREATE TABLE `role_mapping` (
  `USER_ID` VARCHAR(255) NOT NULL,
  `ROLE_UID` INT(11) NOT NULL,
  PRIMARY KEY (`USER_ID`,`ROLE_UID`),
  KEY `fk_role_user` (`ROLE_UID`),
  CONSTRAINT `fk_role_user` FOREIGN KEY (`ROLE_UID`) REFERENCES `user_role` (`ID`),
  CONSTRAINT `fk_user_role` FOREIGN KEY (`USER_ID`) REFERENCES `users` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Перевел в PostgreSQL так:
Кликните здесь для просмотра всего текста
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE TABLE "SITE_NEW".users (
"name" VARCHAR(45) NOT NULL,
"email" VARCHAR(45) DEFAULT NULL,
"password" VARCHAR(45) DEFAULT NULL,
"login_date" TIMESTAMP WITH TIME ZONE  DEFAULT NULL,
"verification" VARCHAR(45) DEFAULT NULL,
"active" INTEGER DEFAULT '0',
PRIMARY KEY ("name")
);
 
CREATE TABLE "SITE_NEW".user_role (
"ID" SERIAL PRIMARY KEY,
"NAME" VARCHAR(45) NOT NULL
);
 
CREATE TABLE "SITE_NEW".role_mapping (
"USER_ID" VARCHAR(255) REFERENCES "SITE_NEW".users("name"),
"ROLE_UID" INTEGER REFERENCES "SITE_NEW".user_role("ID"),
PRIMARY KEY ("USER_ID","ROLE_UID")
);


может что-то в переводе
Пробую запустить, для этого:
1. Скачал в pox.xml:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
<dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901.jdbc4</version>
        </dependency>

2. Переделал спринг было:
Кликните здесь для просмотра всего текста
Java
1
2
3
spring.datasource.url=jdbc:mysql://localhost:3306/site_new?autoReconnect=true&useSSL=true
spring.datasource.username=name
spring.datasource.password=pass

Cтало:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
spring.datasource.url=jdbc:postgresql://localhost:5432/site_new
spring.datasource.username=name
spring.datasource.password=pass
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect


Больше ничего не переделывал, все взлетело, но при попытке обратиться к БД выдает:

Кликните здесь для просмотра всего текста
2016-09-26 18:17:00.542 ERROR 14052 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : ОШИБКА: отношение "users" не существует
Позиция: 375
2016-09-26 18:17:00.544 INFO 14052 --- [nio-8080-exec-2] o.h.e.internal.DefaultLoadEventListener : HHH000327: Error performing load command : org.hibernate.exception.SQLGrammarExcept ion: could not extract ResultSet
2016-09-26 18:17:00.558 ERROR 14052 --- [nio-8080-exec-2] c.e.filters.IsAccountNonExpiredFilter : An internal error occurred while trying to authenticate the user.

org.springframework.security.authenticat ion.InternalAuthenticationServiceExcepti on: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarExcept ion: could not extract ResultSet
at org.springframework.security.authenticat ion.dao.DaoAuthenticationProvider.retrie veUser(DaoAuthenticationProvider.java:12 6) ~[spring-security-core-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.authenticat ion.dao.AbstractUserDetailsAuthenticatio nProvider.authenticate(AbstractUserDetai lsAuthenticationProvider.java:143) ~[spring-security-core-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.authenticat ion.ProviderManager.authenticate(Provide rManager.java:167) ~[spring-security-core-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.web.authent ication.UsernamePasswordAuthenticationFi lter.attemptAuthentication(UsernamePassw ordAuthenticationFilter.java:93) ~[spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at com.example.filters.IsAccountNonExpiredF ilter.attemptAuthentication(IsAccountNon ExpiredFilter.java:32) ~[classes/:na]
at org.springframework.security.web.authent ication.AbstractAuthenticationProcessing Filter.doFilter(AbstractAuthenticationPr ocessingFilter.java:217) ~[spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.web.FilterC hainProxy$VirtualFilterChain.doFilter(Fi lterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.web.authent ication.logout.LogoutFilter.doFilter(Log outFilter.java:120) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.web.FilterC hainProxy$VirtualFilterChain.doFilter(Fi lterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.web.header. HeaderWriterFilter.doFilterInternal(Head erWriterFilter.java:64) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.security.web.FilterC hainProxy$VirtualFilterChain.doFilter(Fi lterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.web.context .SecurityContextPersistenceFilter.doFilt er(SecurityContextPersistenceFilter.java :91) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.web.FilterC hainProxy$VirtualFilterChain.doFilter(Fi lterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.web.context .request.async.WebAsyncManagerIntegratio nFilter.doFilterInternal(WebAsyncManager IntegrationFilter.java:53) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.security.web.FilterC hainProxy$VirtualFilterChain.doFilter(Fi lterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.web.FilterC hainProxy.doFilterInternal(FilterChainPr oxy.java:213) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.security.web.FilterC hainProxy.doFilter(FilterChainProxy.java :176) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.web.filter.Delegatin gFilterProxy.invokeDelegate(DelegatingFi lterProxy.java:346) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.web.filter.Delegatin gFilterProxy.doFilter(DelegatingFilterPr oxy.java:262) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.apache.catalina.core.ApplicationFilt erChain.internalDoFilter(ApplicationFilt erChain.java:240) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.core.ApplicationFilt erChain.doFilter(ApplicationFilterChain. java:207) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.springframework.web.filter.RequestCo ntextFilter.doFilterInternal(RequestCont extFilter.java:99) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.apache.catalina.core.ApplicationFilt erChain.internalDoFilter(ApplicationFilt erChain.java:240) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.core.ApplicationFilt erChain.doFilter(ApplicationFilterChain. java:207) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.springframework.web.filter.HttpPutFo rmContentFilter.doFilterInternal(HttpPut FormContentFilter.java:87) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.apache.catalina.core.ApplicationFilt erChain.internalDoFilter(ApplicationFilt erChain.java:240) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.core.ApplicationFilt erChain.doFilter(ApplicationFilterChain. java:207) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.springframework.web.filter.HiddenHtt pMethodFilter.doFilterInternal(HiddenHtt pMethodFilter.java:77) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.apache.catalina.core.ApplicationFilt erChain.internalDoFilter(ApplicationFilt erChain.java:240) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.core.ApplicationFilt erChain.doFilter(ApplicationFilterChain. java:207) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.springframework.web.filter.Character EncodingFilter.doFilterInternal(Characte rEncodingFilter.java:121) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.apache.catalina.core.ApplicationFilt erChain.internalDoFilter(ApplicationFilt erChain.java:240) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.core.ApplicationFilt erChain.doFilter(ApplicationFilterChain. java:207) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.core.StandardWrapper Valve.invoke(StandardWrapperValve.java:2 12) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.core.StandardContext Valve.invoke(StandardContextValve.java:1 06) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.authenticator.Authen ticatorBase.invoke(AuthenticatorBase.jav a:502) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.core.StandardHostVal ve.invoke(StandardHostValve.java:141) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.valves.ErrorReportVa lve.invoke(ErrorReportValve.java:79) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.core.StandardEngineV alve.invoke(StandardEngineValve.java:88) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.catalina.connector.CoyoteAdap ter.service(CoyoteAdapter.java:522) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.coyote.http11.AbstractHttp11P rocessor.process(AbstractHttp11Processor .java:1095) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.coyote.AbstractProtocol$Abstr actConnectionHandler.process(AbstractPro tocol.java:672) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.tomcat.util.net.NioEndpoint$S ocketProcessor.doRun(NioEndpoint.java:15 00) [tomcat-embed-core-8.0.32.jar:8.0.32]
at org.apache.tomcat.util.net.NioEndpoint$S ocketProcessor.run(NioEndpoint.java:1456 ) [tomcat-embed-core-8.0.32.jar:8.0.32]
at java.util.concurrent.ThreadPoolExecutor. runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_74]
at java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_74]
at org.apache.tomcat.util.threads.TaskThrea d$WrappingRunnable.run(TaskThread.java:6 1) [tomcat-embed-core-8.0.32.jar:8.0.32]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_74]
Caused by: org.springframework.dao.InvalidDataAcces sResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarExcept ion: could not extract ResultSet
at org.springframework.orm.jpa.vendor.Hiber nateJpaDialect.convertHibernateAccessExc eption(HibernateJpaDialect.java:242) ~[spring-orm-4.2.5.RELEASE.jar:4.2.5.RELEASE]


БД и там и там SITE_NEW, но в PostgeSQL мне пришлось создать такую БД, а потом еще и Schemas SITE_NEW и уже в нем создавать таблицы.
Вдруг нужен UserModel
Кликните здесь для просмотра всего текста
Java
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
@Entity
@Table(name = "users")
public class UsersModel implements UserDetails {
    @Column
    @Id
    private String name;
    @Column
    private String password;
 
    @Column(name = "LOGIN_DATE")
    private Date loginDate;
 
 
    @Column(name = "EMAIL")
    private String email;
 
    public String getVerification() {
        return verification;
    }
 
    public void setVerification(String verification) {
        this.verification = verification;
    }
 
    @Column(name = "verification")
    private String verification;
 
    @Column(name = "active")
    private Integer activityTrue;
 
    public Integer getActivityTrue() {
        return activityTrue;
    }
 
    public void setActivityTrue(Integer activityTrue) {
        this.activityTrue = activityTrue;
    }
 
    public Date getLoginDate() {
        return loginDate;
    }
 
    public void setLoginDate(Date loginDate) {
        this.loginDate = loginDate;
    }
 
    // @Transient говорит Hibernate, что это поле не является БД
    @Transient
    private Date lastActive;
 
    public Date getLastActive() {
        return lastActive;
    }
 
    public void setLastActive(Date lastActive) {
        this.lastActive = lastActive;
    }
 
 
    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(name = "role_mapping", joinColumns = {
                @JoinColumn(name = "USER_ID", nullable = false, updatable = false) },
            inverseJoinColumns = { @JoinColumn(name = "ROLE_UID",
                    nullable = false, updatable = false) })
    private List<UserRole> userRoles;
 
    public List<UserRole> getUserRoles() {
        return userRoles;
    }
 
    public void setUserRoles(List<UserRole> userRoles) {
        this.userRoles = userRoles;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getEmail() {
        return email;
    }
 
    public void setEmail(String email) {
        this.email = email;
    }
 
 
    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        return userRoles;
    }
 
    public String getPassword() {
        return password;
    }
 
    @Override
    public String getUsername() {
        return name;
    }
 
    @Override
    public boolean isAccountNonExpired() {
 
        return true;
    }
 
    @Override
    public boolean isAccountNonLocked() {
        return true;
    }
 
    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }
 
    @Override
    public boolean isEnabled() {
        return true;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.09.2016, 18:22
Ответы с готовыми решениями:

Redis cache in spring boot + hibernate + PostgreSQL
Добрый день. Возникло пару вопросов по redis cache в spring boot + hibernate + PostgreSQL. Заранее извиняюсь за nubовские вопросы...

Spring+Hibernate
Здравствуйте. Есть 3 таблицы: юзверы, роли, и таблица-связка. Хочу реализовать такое, регистрацию пользователя . Когда я добавляю...

Hibernate + Spring
написал конфигурационный файл... &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.09.2016, 18:22
Помогаю со студенческими работами здесь

Hibernate 5 spring
я пытаюсь создать через класс утилиту объект session но при инициализации путь к hibernate.cfg.xml оно пытается отыскать в папке ...

Spring и Hibernate
Пытаюсь написать свой CRUD на спринге, никак не удается отловить вот этот баг: org.hibernate.HibernateException: createQuery is not valid...

Spring + Hibernate
Вообщем решил изучить Java, Spring, Hibernate. Запили основу, но вот постоянно выскакивает, не знаю как её поправить... Ошибка: ...

Spring + Hibernate
Во многих статьях, где описывается пример Spring MVC + Hibernate описывается @Service На пример: public interface ContactDAO { ...

Spring PostgreSQL
Перевожу для деплоя MуSQL в PostgreSQL возникла проблема Опишу все шаги может кто-то сможет помочь. База выглядела так: CREATE...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru