0

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)); }
Wim Deblauwe
  • 25,113
  • 20
  • 133
  • 211
Gharbi
  • 125
  • 3
  • 11

0 Answers0