Будет ли работать функция findAll репозитория Spring Data JPA, если объекты связаны столько же, сколько один или один к одному, либо к любой такой ассоциации? - PullRequest
0 голосов
/ 13 декабря 2018

Вот как выглядит класс сущностей

@Entity
public class IndustryCode {
    @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long id;
    private String industryName;

    @OneToMany(mappedBy="industryCode")
    private Set<CarrierCodes> industryCodes;

@Entity
public class TechCode {
    @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long id;
    private String techName;

    @OneToMany(mappedBy="techCode")
    private Set<CarrierCodes> techCodes;

@Entity
public class CarrierCodes {
    @EmbeddedId
    private CarrierCodesId id = new CarrierCodesId(); 

    @ManyToOne
    @MapsId("techCodeId")
    private TechCode techCode;

    @ManyToOne
    @MapsId("industryCodeId")
    private IndustryCode industryCode;

@SuppressWarnings("serial")
@Embeddable
public class CarrierCodesId implements Serializable {
    private Long industryCodeId;
    private Long techCodeId;

@Entity
public class Register {
    @Id
    private Long mobileNumber;
    @ManyToOne
    // optional but nice to have consistent names
    @JoinColumns({
        @JoinColumn(name="industryCode_id", referencedColumnName="industryCode_id"),
        @JoinColumn(name="techCode_id", referencedColumnName="techCode_id")
        )
private CarrierCodes carrierCodes;
}

public class RegisterRepository extends JPARepository<Register,mobileNumber>{
}

Мой вопрос: если я запусту findAll в таблице Register, получу ли я данные и для других связанных таблиц?

Я имею в видуиспользуя findAll (), получу ли я список, из которого я могу взять Register obj и использовать .getCarrierCode (). getIndustryCode (). getIndustryName (), чтобы получить название отрасли, соответствующее значению carrierCode в таблице регистров

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...