JPA не переводит @Column (name = "...") внутри оператора sql Журнал ошибок
[6418c947-1] There was an unexpected error (type=Internal Server Error, status=500).
PreparedStatementCallback; bad SQL grammar [SELECT mwo_main_status._id AS _id, mwo_main_status.oid AS oid, mwo_main_status.label AS label, mwo_main_status.details AS details FROM mwo_main_status]; nested exception is org.postgresql.util.PSQLException: ERROR: column mwo_main_status.oid does not exist Dica: Perhaps you meant to reference the column "mwo_main_status._id". Posição: 36
мой ORM
@Builder
@Data
@Entity
@Table("mwo_sub_status")
public class WorkOrderSubStatusDbMapping {
@GeneratedValue(strategy= GenerationType.IDENTITY)
private @Id Integer _id;
@Column(name="ref_id")
private Integer oid;
private String label;
private String details;
}
Я ожидал, что сгенерированное SQL будет:
SELECT mwo_main_status._id AS _id, mwo_main_status.ref_id AS oid, mwo_main_status.label AS label, mwo_main_status.details AS details FROM mwo_main_status
Я создаю Spring-Boot Application с субмодулями (web, domain, persistence)
В модуле Persistence мой файл gradle.build равен
apply plugin: 'java-library'
dependencies {
implementation project(':domain')
implementation 'io.projectreactor:reactor-core:3.3.3.RELEASE'
implementation 'org.springframework:spring-context:5.2.4.RELEASE'
implementation 'org.springframework:spring-orm:5.2.4.RELEASE'
implementation 'org.springframework.data:spring-data-jdbc:1.1.5.RELEASE'
implementation 'org.hibernate:hibernate-core:5.4.11.Final'
runtimeOnly('org.postgresql:postgresql')
runtimeOnly('org.postgresql:postgresql')
testImplementation 'junit:junit:4.12'
}
Чего мне не хватает?
Как сказано в Используя lomboks @Data и @Builder для сущности , Lombok не работает должным образом с jdb c поэтому я решил использовать spring-data-jpa
вместо spring-data-jdbc
.
Спасибо Алекс Руденко .