Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Data-jpa не видит таблицы базы данных  [new]
Vlad__i__mir
Member

Откуда:
Сообщений: 381
Здравствуйте!

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

Создал Spring Boot проект. Для работы с БД и не только прописал зависимости:
<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 прописал:
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'":
@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 говорят этого ничего не нужно.

К сообщению приложен файл. Размер - 112Kb
27 окт 20, 21:23    [22221754]     Ответить | Цитировать Сообщить модератору
 Re: Data-jpa не видит таблицы базы данных  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
Vlad__i__mir,

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

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

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

Вообще IDEA плагин для работы с Entity кривоватый.
28 окт 20, 06:11    [22221863]     Ответить | Цитировать Сообщить модератору
 Re: Data-jpa не видит таблицы базы данных  [new]
Garrick
Member

Откуда: Москва
Сообщений: 3067
Vlad__i__mir,

Может быть регистр в имени имеет значение?
28 окт 20, 11:21    [22222039]     Ответить | Цитировать Сообщить модератору
 Re: Data-jpa не видит таблицы базы данных  [new]
Vlad__i__mir
Member

Откуда:
Сообщений: 381
mad_nazgul, Garrick, спасибо! В пакете ресурсов добавил свою БД как ресурс данных - все стало нормально
28 окт 20, 15:43    [22222370]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить