有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaHibernate:对于一个遥远的惰性依赖,有一个渴望的获取者吗?

假设我有:

-----------
|  City   |
-----------
| - id    |
| - name  |
-----------
    (1)
     |
     |
     |
    (*)
-----------
|  Street |
-----------
| - id    |
| - name  |
-----------
    (1)
     |
     |
     |
    (*)
-----------
|  House  |
-----------
| - id    |
| - num   |
-----------

因此:

@Entity
public class City {

    @Id
    @GeneratedValue
    private Long id;

    private String name;

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "street", cascade = CascadeType.ALL)
    private List<Street> streets;

}

@Entity
public class Street {

    @Id
    @GeneratedValue
    private Long id;

    private String name;

    @ManyToOne(fetch = FetchType.LAZY)
    private City city;

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "house", cascade = CascadeType.ALL)
    private List<House> houses;
}

@Entity
public class House {

    @Id
    @GeneratedValue
    private Long id;

    private int num;

    @ManyToOne(fetch = FetchType.LAZY)
    private Street street;

}

问题是:我想在不获取城市的情况下获取房子的城市名称,并保留延迟加载。是否有一个神奇的装饰器来“急切地”加载远程依赖项?像

@Entity
public class House {

    @Id
    @GeneratedValue
    private Long id;

    private int num;

    @ManyToOne(fetch = FetchType.LAZY)
    private Street street;

    @Magic(from this.street.city.name ?) // <------- HERE
    private String houseName;

}

共 (0) 个答案