Fetchtype EAGER无效

时间:2018-03-12 23:55:38

标签: hibernate spring-data-jpa

我已阅读并确保我的注释是正确的。我正在使用spring数据jpa并获取带有以fetch类型注释的子关系的父类作为EAGER但是JPA没有提取子对象。

父实体:

@Entity
@Table(name = "customer")
public class Customer {
        @Id
        @Column(name = "Customer_ID")
        @GeneratedValue(strategy = GenerationType.AUTO)
        private int customerid;
        @NotNull
        @Size(min = 3, max = 30)
        private String name;

        @OneToMany(mappedBy = "customers", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
        private Set<Car> cars;

子实体:

@Entity
@Table(name = "car")
public class Car {

    @Id
    @Column(name = "CAR_ID")
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int carId;
    private String make;
    @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
    @JoinColumn(name = "customerid")
    private Customer customers;

客户存储库:

@Repository
@Transactional
public interface CustomerRepository extends JpaRepository<Customer, Integer>{

    Set<Customer> findByName(String name);

获取客户数据的存储库:

public Data getCustomer(int id) {
        Data data = new Data();

        try {
        Customer customer = customerRepository.findOne(id);

这个存储库方法只提取客户,虽然我已经注释了它以获取渴望拉取子对象。

0 个答案:

没有答案