Hallo ich bin mal wieder ein bisschen am Probieren und möchte gerne meine Entitäten mit Records implementieren.
Dazu habe ich mir mal ein Spielprojekt aufgesetzt. Ich verwende zuerst SpringDataJPA
Hier meine Klasse :
Ich habe es alles in einer Klasse geschrieben, da es ein kleines Spiel Projekt werden soll.
Wenn ich den Code nun ausführe bekomme ich folgende Exception :
Hat jemand eine Idee woran das liegen könnte.
Meine Vermutung ist, dass er die nicht weiß wie er die ID generieren soll.
In anderen Projekten hab eich dazu
@GeneratedValue
verwendet. Allerdings scheint das bei record nicht zu funktionieren
Dazu habe ich mir mal ein Spielprojekt aufgesetzt. Ich verwende zuerst SpringDataJPA
Hier meine Klasse :
Ich habe es alles in einer Klasse geschrieben, da es ein kleines Spiel Projekt werden soll.
Java:
package com.example.spring.data.jpa;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.data.jpa.repository.JpaRepository;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
@SpringBootApplication
public class SpringDataJpaApplication {
public static void main(String[] args) {
SpringApplication.run(SpringDataJpaApplication.class, args);
}
@Bean
ApplicationRunner demo(CustomerRepository repository) {
return args -> {
repository.saveAndFlush(new Customer(null, "Customer A"));
repository.findAll().forEach(System.out::println);
};
}
}
/**
* Customer
* Long ID, String name
*/
@Entity
record Customer(@Id Long ID, String name) {
}
/**
* CustomerRepository extends CrudRepository<Customer, Long>
*/
interface CustomerRepository extends JpaRepository<Customer, Long> {
}
Wenn ich den Code nun ausführe bekomme ich folgende Exception :
Java:
org.springframework.orm.jpa.JpaSystemException: Identifier of entity 'com.example.spring.data.jpa.Customer' must be manually assigned before calling 'persist()
Hat jemand eine Idee woran das liegen könnte.
Meine Vermutung ist, dass er die nicht weiß wie er die ID generieren soll.
In anderen Projekten hab eich dazu
@GeneratedValue
verwendet. Allerdings scheint das bei record nicht zu funktionieren