ddl-auto create - поле Java Short Id, созданное в виде целочисленного столбца в PostgreSQL - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь начать с приложения Java Spring Boot 2.1.4.

В моей модели у меня есть:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Short id;

И есть это в application.properties:

spring.jpa.hibernate.ddl-auto=create

Когда я запускаю приложение, hibernate создает столбец как

id integer NOT NULL DEFAULT nextval('auth_id_seq'::regclass) ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 )

. После этого я изменяю свое свойство следующим образом: spring.jpa.hibernate.ddl-auto = validate

И, естественно, выдает ошибку

nested exception is org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [id] in table [Auth]; found [serial (Types#INTEGER)], but expecting [int2 (Types#SMALLINT)]

Я пытался добавить поле идентификатора:

@Column(columnDefinition = "smallserial")

Он не изменил тип созданного столбца, но изменил ошибку проверки на:

nested exception is org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [id] in table [Auth]; found [serial (Types#INTEGER)], but expecting [smallserial (Types#SMALLINT)]

Должен ли я сообщить об этом как об ошибке?

...