レガシ アプリを分析しようとしていますが、Role.java というクラスにこの注釈があります。この特定の結合に対して生成された SQL がどのようになるかを調べようとしています。
@ManyToOne
@JoinColumns({
@JoinColumn(name="COMPANY_NUMBER", referencedColumnName="COMPANY_NUMBER", insertable=false, updatable=false),
@JoinColumn(name="EMPLOYEE_ID", referencedColumnName="EMPLOYEE_ID", insertable=false, updatable=false)
})
private CompanyPerson person;
このようなエイリアスを使用していると思います
LEFT JOIN person_role ROLEA
ON ROLEA.employee_id = PERSON.employee_id
LEFT JOIN person_role ROLEB
ON ROLEB.company_number = PERSON.company_number;
しかし、よくわかりません.ソースコードしか持っていません-アプリケーションを構築する方法がなく、サーバーに近づいてHibernateにSQLを記録させるのに十分なほどログを上げられません. また、JPA仕様をざっと見ましたが、理解できませんでした。
生成された SQL がどのように見えるかの例を教えてもらえますか?
ありがとう