Привет, у меня есть родительская сущность Пользователь, которая имеет отношение один ко многим с сущностью Автомобиль, а сущность транспортного средства имеет отношение много к одному с Пользователем. У меня есть внешний ключ "user_fk" в моей таблице транспортных средств. У меня есть UserRepository, который расширяет Spring Data JPARepository, который имеет методы save и findById.
Также у меня есть два атрибута в таблице транспортных средств, которые однозначно идентифицируют транспортное средство, и мне нужно использовать эти данные, чтобы найти соответствующий объект пользователя. Я знаю, что это можно сделать, просто создав репозиторий Vehicle, который расширяет репозиторий JPA и может использовать метод find by, но я не хочу создавать новый класс репозитория Vehicle только для достижения этой функциональности. Как найти значение столбца User_fk или объект User без создания репозитория транспортных средств? Можно ли добиться этого с помощью репозитория UserRepository ??
Мой пользовательский класс:
@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
}
Мой транспортный класс:
@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
}
У меня есть значения vehicleId и vehicleName, и из этих двух значений атрибута я хочу получить объект User.
Я не хочу создавать репозиторий транспортного средства только для того, чтобы найти объект User. .Я знаю, что это может быть достигнуто путем создания репозитория транспортных средств, который расширяет репозиторий JPA в springdatajpa.