2011-07-21 69 views
1

我',我有這樣的實體類加入到集合中使用JPA映射一個JPA-QL查詢

@Entity 
@Table(name = "h_pe") 
@XmlRootElement 
@NamedQueries({ 

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; 
@JoinColumn(name = "PE_PLATFORM", referencedColumnName = "PLATFORM_NAME", insertable = false, updatable = false) 
@ManyToOne(optional = false) 
private HPlatform hPlatform; 

} 

我想寫這樣(我已與SQL寫的請求JPA ),我試圖寫它,但我沒有理解如何使用PE_ENV,因爲它是OneToMany關係的結果!

select distinct h_env.env_name,h_platform.PLATFORM_NAME 
from h_env,h_platform,h_pe 
where h_env.ENV_URL=h_pe.PE_ENV 
and h_platform.PLATFORM_NAME=h_pe.PE_PLATFORM 
and h_platform.PLATFORM_NAME='XXX'; 

回答