有 Java 编程相关的问题?

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

java Hibernate递归对象

我将{}与{}、{}和{}和{}一起使用

+-----+     +-------------+    +----------+     +------------------------+
| Job |     |  Person_Job |    |  Person  |     |  Person_job_favourites |
+-----+     +-------------+    +----------+     +------------------------+
|  ID |     |    PER_ID   |    |    ID    |     |       PER_ID           |
|     |     |    JOB_ID   |    |          |     |       JOB_ID           |
+-----+     +-------------+    +----------+     +------------------------+

我有一个Job对象Job包含一个Person对象。Person对象有一个Favourite Jobs列表

工作。java

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@ManyToOne(fetch = FetchType.EAGER)
@JoinTable(name = "person_job", joinColumns = {
        @JoinColumn(name = "JOB_ID", referencedColumnName = "ID", unique = true) }, inverseJoinColumns = {
                @JoinColumn(name = "PER_ID", referencedColumnName = "ID") })
private Person person;

人。java

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "person_job_favourites", joinColumns = {
        @JoinColumn(name = "PER_ID", referencedColumnName = "ID") }, inverseJoinColumns = {
                @JoinColumn(name = "JOB_ID", referencedColumnName = "ID", unique = true) })
private Set<Job> favouriteJobs;

如您所见,存在递归,结果集爆炸

问题

我希望不必完全重新设计我的模式,因为我已经围绕这个做了很多开发。有没有办法在特定点停止递归?i、 e.当我查询Job对象时,返回Person对象及其Job收藏夹,但这些Job收藏夹不包含Person对象


共 (0) 个答案