Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Data-jpa не видит таблицы базы данных / 4 сообщений из 4, страница 1 из 1
27.10.2020, 21:23
    #40012369
Vlad__i__mir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Data-jpa не видит таблицы базы данных
Здравствуйте!

При указании имен таблиц и колонок в аннотациях JPA подчеркивает красным и пишет, что "Cannot resolve table 'roles'" или "Cannot resolve column 'name'", хотя БД в IDEA подключена, тест подключения прошел.

Создал Spring Boot проект. Для работы с БД и не только прописал зависимости:
Код: xml
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.
<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
            <version>${mysql.connector.version}</version>
<!--			<scope>runtime</scope>-->
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-test</artifactId>
			<scope>test</scope>
		</dependency>
            <!-- Liquibase -->
        <dependency>
                <groupId>org.liquibase</groupId>
                <artifactId>liquibase-core</artifactId>
        </dependency>
		<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>${lombok.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>${logback.version}</version>
		</dependency>
	</dependencies>



В фале application.properties прописал:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
pring.datasource.url=jdbc:mysql://localhost:3306/db_users?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql=true
spring.jpa.generate-ddl=false
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect



Подключил БД в самой IDEA, провел тест подключения - успешно.

Создаю сущность и указываю аннотации для связи с таблицей БД, но при указании имен таблиц и колонок в аннотациях подчеркивает красным и пишет, что "Cannot resolve table 'roles'" или "Cannot resolve column 'name'":
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name="roles")
public class Role {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id_roles")
    private int idRoles;
    @Column(name="name")
    private String name;
    @ManyToMany(mappedBy = "roles")
    private Set<User> users;
}



Не пойму, чего не хватает?
Когда делал обычный проект не Spring Boot, то там еще создавался xml файл с меппингом таблиц и классов и класс конфигуратор hibernate, но в Spring Boot говорят этого ничего не нужно.
...
Рейтинг: 0 / 0
28.10.2020, 06:11
    #40012444
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Data-jpa не видит таблицы базы данных
Vlad__i__mir,

Проект собирается и работает?
Если - да.
То забить на IDEA ну или писать багу в Jetbrains, пусть думают.

Скорее всего IDEA не смогла корректно проиндексировать @Entity.
Как чиниться - не знаю.

Обычно я просто забиваю, на такие ошибки.
Но когда нужны подсказки по работе с сущностиями, то где нибудь в ресурсах создаю persistence.xml без данных.
К нему "подвязываю" соединение с БД в IDEA.
После этого все норм работает.

Вообще IDEA плагин для работы с Entity кривоватый.
...
Рейтинг: 0 / 0
28.10.2020, 11:21
    #40012536
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Data-jpa не видит таблицы базы данных
Vlad__i__mir,

Может быть регистр в имени имеет значение?
...
Рейтинг: 0 / 0
28.10.2020, 15:43
    #40012682
Vlad__i__mir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Data-jpa не видит таблицы базы данных
mad_nazgul, Garrick, спасибо! В пакете ресурсов добавил свою БД как ресурс данных - все стало нормально
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Data-jpa не видит таблицы базы данных / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]