Я использую Spring Boot Starter Data Jpa (2.1.9.RELEASE) и пытаюсь отобразить эту таблицу:
CREATE TABLE `foo` (
`id` int(11) NOT NULL,
`woo` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Объект отображается следующим образом:
@Entity
@Table(name = "foo")
public class Foo {
@Id
@Column(name = "id")
private Integer id;
@Column(name = "woo")
private Integer woo;
public Integer getId() {
return id;
}
public Integer getWoo() {
return woo;
}
}
Когда я запускаю приложение, я получаю следующую ошибку:
Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [woo] in table [foo]; found [tinyint (Types#TINYINT)], but expecting [integer (Types#INTEGER)]
Мои свойства:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql:///test
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=validate
Я пытался сделать то же самое сопоставление, используя vanilla Jpa и Hibernate ( не управляется Spring) и работает нормально.
Может кто-нибудь указать мне правильное направление?
Вот ссылка на проект maven , на случай, если кто-то захочет попробуйте прямо.