のメンバーでは動作しません。基本的に私は仕事を拒否し、「findServerWithNicは」名前付きクエリを持っています:JPA 2「のメンバーは、」スーパー
@Entity
@Table(name = "vnm_networked_device")
@DiscriminatorColumn(name = "c_device_type", discriminatorType = DiscriminatorType.CHAR)
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class NetworkedDevice extends AbstractIdentifyable implements Serializable
{
@OneToMany(mappedBy = "connectedHost", cascade = CascadeType.ALL)
@OrderColumn(name = "c_index")
protected List<Nic> nics = new ArrayList<Nic>();
public List<Nic> getNics() {
return nics;
}
public void setNics(List<Nic> nics) {
this.nics = nics;
}
}
は、今私は、NICのインスタンスaがServerインスタンスに追加作成したテストケースを持っている(s.getNics()私がチェックし、インスタンスを含む)が、クエリの呼び出し
NoResultExceptionCaused by: javax.persistence.NoResultException: getSingleResult() did not retrieve any entities.
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.throwNoResultException(EJBQueryImpl.java:1246)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:750)
at com.profitbricks.provisioning.vnm.jpa.impl.VNManagementJPAImpl.findVirtualServerOfNic(VNManagementJPAImpl.java:101)
で0
結果は、元々のNIC-メンバーは、プライベートでしたが、でもうまくいきませんでした保護に設定します。 JPA 2プロバイダーとしてeclipselink 2.2.0-M4を使用しています。これはeclipselinkバグですか、それともクエリーが間違っていますか?
することができますSQLロギングを有効にし、結果のSQL(http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging)を参照してください – axtavt
手動SQLクエリで成功しましたか? –