Hallo zusammen ich habe ein kleines Spielprojekt mit Spring-data-jdbc erstellt.
Hier meine Klassen
und mein sql Schema (liegt im resource ordner)
Die Daten erzeuge ich so :
Wenn ich meinen Code ausführe bekomme ich folgende Exception :
Ich habe schon ein wenig herumprobiert und habe der Spalte per @Column(value = "hashvalue") einen eindeutigen namen gegeben. Aber anscheinend wird dies ignoriert.
Als Datenbank System verwende ich zum Testen H2
So sieht meine applicatiom.properties aus :
Hat jemand einen Tipp für mich ?
Hier meine Klassen
Java:
@Builder(setterPrefix = "with", toBuilder = true)
@Table(name = "PHOTOALBUM")
public record PhotoAlbum(
@Getter @Id long ID,
@Getter String name,
@Getter PhotoItem photoItem) {
}
Java:
@Builder(setterPrefix = "with", toBuilder = true)
@Table(name = "PHOTOITEM")
public record PhotoItem(
@Getter @Id long ID,
@Getter @Column(value = "hashvalue") String hashValue) {
}
und mein sql Schema (liegt im resource ordner)
SQL:
Create Table
PHOTOALBUM (
ID int generated by default as identity primary key,
name text
);
CREATE Table
PHOTOITEM (
ID int generated by default as identity primary key,
photoalbum bigint not null references PHOTOALBUM (id),
hashvalue text
)
Die Daten erzeuge ich so :
Java:
var photoAlbum = PhotoAlbum.builder()
.withName("testPhotoAlbum2")
.withPhotoItem(photoItem)
.build();
albumRepository.save(photoAlbum);
albumRepository.findAll().forEach(System.out::println);
Wenn ich meinen Code ausführe bekomme ich folgende Exception :
Java:
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Feld "hashvalue" nicht gefunden
Column "hashvalue" not found; SQL statement:
INSERT INTO "PHOTOITEM" ("PHOTOALBUM", "hashvalue") VALUES (?, ?) [42122-224]
Ich habe schon ein wenig herumprobiert und habe der Spalte per @Column(value = "hashvalue") einen eindeutigen namen gegeben. Aber anscheinend wird dies ignoriert.
Als Datenbank System verwende ich zum Testen H2
So sieht meine applicatiom.properties aus :
Code:
spring.datasource.url=jdbc:h2:mem:myDataDatabase
spring.datasource.username=user
spring.datasource.password=passowrd
spring.datasource.driver-class-name=org.h2.Driver
Hat jemand einen Tipp für mich ?