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) 个答案