@Entity
public class LineData{
@Id
public String getId(){
return this.id;
}
@Column
public String getText() {
return this.text;
}
}
@Entity
public class Something{
@Id
public String getId() {
return this.id;
}
@ManyToOne(fetch=FetchType.LAZY,optional=true)
@JoinColumnsOrFormulas({
@JoinColumnOrFormula(formula=@JoinFormula(value="(SELECT l.id from line_data l where text='something'", referencedColumnName="ID"))
})
public LineData getLineData(){
return lineData;
}
}
select something0_.ID as LINEID504_0_, linedata2_.ID as LINEID493_1_,
(SELECT l.id from line_data l where text='something') as formula23_0_
from something something0_
left outer join line_data linedata2_ on
(SELECT l.id from line_data l where text='something')=linedata2_.ID