2011-07-22 32 views
0
寫一個請求

如何使用JPA請求通過給定的平臺名稱檢索環境名稱(1個環境可以關聯到n Plateform和1 Platform可以關聯到n Environmnt)?使用JPA

public class HPe implements Serializable { 
private static final long serialVersionUID = 1L; 
@EmbeddedId 
protected HPePK hPePK; 
@Column(name = "PE_TIMEOUT") 
private Integer peTimeout; 
@Column(name = "PE_STATUS") 
private Boolean peStatus; 
@OneToMany(cascade = CascadeType.ALL, mappedBy = "hPe") 
private Collection<HPesp> hPespCollection; 
@JoinColumn(name = "PE_ENV", referencedColumnName = "ENV_URL", insertable = false, updatable = false) 
@ManyToOne(optional = false) 
private HEnv hEnv; // HEnv classe name 
@JoinColumn(name = "PE_PLATFORM", referencedColumnName = "PLATFORM_NAME", insertable = false, updatable = false) 
@ManyToOne(optional = false) 
private HPlatform hPlatform; //HPlatform classe name 
} 

更新 問題Resloved:

SELECT h.hPePK.peEnv FROM HPE H其中h.hPePK.pePlatform =:W

+0

到目前爲止您嘗試了什麼? – home

+0

您的陳述中是否有異常或空的結果? – powerMicha

回答

0

請嘗試

select hpe.hEnv.envName from HPe hpe where hpe.hPlatform.platName = :platName 

(使用platName作爲參數)

也許它需要更多的東西ike a join但是請先嚐試