i'm working with springboot , inheritance using single table, i have problem with the add function , how to insert the discriminator column value automatically , ps : i'm not working with entityManager. thank you :) Here is th code of 3 entities and the add function
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="Type_res",
discriminatorType=DiscriminatorType.STRING, length=4)
public abstract class Reservation implements Serializable {....}
@Entity
@DiscriminatorValue("TRAIN")
public class Training extends Reservation{ ... }
@Entity @DiscriminatorValue("MEET")
public class Meeting extends Reservation{ ... }
@PostMapping("/reservations/training/{spaceId}/{userId}")
public Training addTraining(@PathVariable Long spaceId, @PathVariable(value = "userId") Long userId, @Valid @RequestBody Training training)
{
User user = userRepository.findById(userId) .orElseThrow(() -> new ResourceNotFoundException("User", "id", userId));
return spaceRepository.findById(spaceId) .map(space -> {
training.setSpace(space);
training.setCourse (training.getCourse());
training.setStatus(training.getStatus());
training.setResponsable(training.getResponsable());
training.setEnd_date(training.getEnd_date());
training.setStart_date(training.getStart_date());
training.setUser(user);
return trainingRepository.save(training); }
)
.orElseThrow(() -> new ResourceNotFoundException("Space", "id " ,spaceId)); }