Я получаю JSON, который десериализован в POJO, и я пытаюсь сопоставить POJO с классом сущности ниже, используя modelmapper, и пытаюсь сохранить эти сущности в базе данных. Все поля отображаются и сохраняются, как и ожидалось. кроме значения внешнего ключа, который приходит как ноль. Кроме того, идентификатор пользователя генерируется автоматически. Можете ли вы помочь мне, как я могу сохранить идентификатор пользователя в таблице транспортных средств, используя модель карты ??
Мой User
Класс сущности
@Entity
@Table(name = "usr")
class User{
@Id
@Column(name = "user_id", updatable = false, nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long userId;
private String username;
@OneToMany(mappedBy = "user",cascade = CascadeType.ALL)
private List<Vehicle> vehicles= new ArrayList<>();
//getters and setters
}
Мой Vehicles
Класс сущности:
@Entity
@Table(name = "vehicle")
class Vehicle{
@Id
@Column(name = "vehicle_id", updatable = false, nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long vehicleId;
private String vehicleName;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_fk" , nullable = false)
private User user;
//getters and setters
}
Мой класс ModelMapping:
@Service
public class UserService {
@Autowired
private UserDetailsService userDetailsService;
public void saveUserDetails(UserDetails userDetails
User targetuser{
UserDetails sourcePojo= userDetails
User targetEntity= targetuser
ModelMapper modelMapper = new ModelMapper();
modelMapper.map(sourcePojo, targetEntity);
userDetailsService.save(targetEntity);
}
}