hibernate @JoinColumnsOrFormulas

@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

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327014848&siteId=291194637