2011-07-22 36 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但是请先尝试