Hibernate: Регистрация Формулы не работает Как и ожидалось - PullRequest
0 голосов
/ 01 марта 2019

Я работаю над приложением, для которого требуется использовать приведенный ниже запрос в режиме гибернации.

select 
    requestorc0_.LASTUPDTED as LASTUPDTED
   requestcom1_.START_DATE as START_DATE
   from
    REQUESTOR_CONTACT requestorc0_
left outer join
    REQUESTOR requestcom1_  on requestorc0_.REQUESTOR_ID=requestcom1_.REQUESTOR_ID
 inner join REVIEW c1 on (requestorc0_.requestor_contact_id=c1.requestor_id OR requestorc0_.requestor_id=c1.requestor_id)

Мне нужно преобразовать этот запрос в компонент Hibernate.Я пытаюсь использовать формулу соединения, но не могу найти правильный способ сделать это.

@Entity
@Table(name = "REVIEW")
public class RequestReview implements Serializable {

@Id
@Column(name = "RECORD_ID")
private Integer recordId

@Column(name = "REQUESTOR_ID")
private Integer requestorId;

 @ManyToOne(fetch = FetchType.EAGER)
@JoinColumnOrFormula(formula = @JoinFormula(
        value = "(SELECT r FROM RequestorContact r WHERE r.requestorContactId = requestorId OR  r.requestorId = requestorId LIMIT 1)",
        referencedColumnName = "REQUESTOR_CONTACT_ID"))
private RequestorContact requestorContact;


}


@Entity
@Table(name = "REQUESTOR_CONTACT")
public class RequestorContact implements Serializable {

@ID
@Column(name = "REQUESTOR_CONTACT_ID")
private Integer requestorContactId;

@Column(name = "REQUESTOR_ID")
private Integer requestorId;

 @OneToOne(fetch = FetchType.EAGER)
 @JoinColumn(name = "REQUESTOR_ID", insertable = false, updatable = false)
 private RequestCompany requestCompany;

}


@Entity
@Table(name = "REQUESTOR")
public class RequestCompany implements Serializable {

 @Id
 @Column(name = "REQUESTOR_ID", unique = true, nullable = false)
 private Integer requestorId;

}

Я не могу создать правильную формулу в соответствии с ожидаемым запросом выше.Может кто-нибудь, пожалуйста, помогите мне в этом.

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