Весенние сообщения об ошибках:
: GenerationTarget encountered exception accepting command : Error executing DDL "create table category_class (category_name varchar(255) not null, primary key (category_name)) engine=MyISAM" via JDBC Statement
: GenerationTarget encountered exception accepting command : Error executing DDL "alter table book_class add constraint FKqov24n7bmx5f0s8d74tdxbgbk foreign key (book_category) references category_class (category_name)" via JDBC Statement
Невозможно точно определить набор результатов, используя Spring Boot с Hibernate.
Caused by: java.sql.SQLSyntaxErrorException: Table 'myDatabase.category_class' doesn't exist
Все остальные мои таблицы отображаются правильно, однако мой класс категориидействительно имеет строку как PK, которая может быть причиной проблемы.Ошибка возникает, когда я пытаюсь получить доступ к базе данных mysql с помощью findAll через мой CategoryService и CategoryRepository, который расширяет JPARepository.
- Category.java -
package myPackage;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.List;
@Data
@NoArgsConstructor
@Entity
@Table(name="category_class")
public class Category {
@Id
@Column(name = "categoryName")
private String name;
@OneToMany(mappedBy = "category")
private List<Book> books;
}
- application.properties--
spring.datasource.url= jdbc:mysql://localhost:3306/oblig2_v3
spring.datasource.username=
spring.datasource.password =
spring.datasource.testWhileIdle=true
spring.datasource.validationQuery=SELECT 1
spring.jpa.generate-ddl=true
spring.jpa.show-sql=false
spring.jpa.hibernate.ddl-auto=create
spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
server.port=8080
Кто-нибудь знает, почему моя таблица не создается в MySQL?
РЕДАКТИРОВАТЬ: добавлен класс книги && cleanup.
--- Book.java--
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.List;
@Data
@NoArgsConstructor
@Entity
@Table(name="book_class")
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long ISBN; //PK
private String title;
private String releaseYear;
private int quantity;
@ManyToOne
@JoinColumn(name ="book_category")
private Category category;
@ManyToOne
@JoinColumn(name ="author")
private Author author;
@ManyToMany(mappedBy = "books")
private List<Order> orders;
}