написать запрос с использованием JPA - PullRequest
0 голосов
/ 22 июля 2011

Как я могу получить имена среды по заданным именам Платформы с помощью запроса JPA (1 среда может быть связана с n Plateform и 1 Платформа может быть связана с n Environmnt)?

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:

ВЫБРАТЬ h.hPePK.peEnv ОТ HPe h ГДЕ h.hPePK.pePlatform =: w

1 Ответ

0 голосов
/ 22 июля 2011

Пожалуйста, попробуйте

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

(используйте platName в качестве параметра)

Возможно, ему нужно что-то более похожее на join, но, пожалуйста, попробуйте сначала

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...