JPA2 ile birlikte başarıyla javax.persistence.NamedQuery
kullandım. Adlandırılmış sorgular, varlık sınıfı dosyalarının üstünde tanımlanır ve Stateless EJB'lerden (varlık cephesi) kullanılır.NamedQuery: Varlıkların dışsallaştırılmasından sonra IllegalArgumentException (Sorgu bulunamadı)
Artık varlık sınıfı dosyalarını ayrı bir Jar dosyasına çıkartmak zorunda kaldım (böylece bunları bir Google Web Toolkit projesinden kullanabiliriz). Açıkçası ben hala kavanoz incude ama şimdi cephe fasulye artık sorgu bulamazsa:
java.lang.IllegalArgumentException: NamedQuery of name: Store.findByExternalId not found.
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getDatabaseQueryInternal(EJBQueryImpl.java:576)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1004)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createNamedQuery(EntityManagerWrapper.java:533)
at com.skalio.bonusapp.server.StoreFacade.getByExternalId(StoreFacade.java:43)
...
Burada sorun nedir? NamedQueries'i harici bir Jar'da tanımlayamıyorum?
Bu link'u buldum, XML dosyalarında NamedQueries'i varlık dosyalarındaki ek açıklamalar olarak değil, yerleştirmeyi önerdim. Bu ... benim sorunu çözmek için bir fikir olabilir, ama soruma cevap vermez;)
Sen '< "sınıfı, HBM"/ = mülkiyet name = "hibernate.archive.autodetection" değer> ' aşağıda gibi her sınıf adını veren daha komple paket tarama yerine kullanabilirsiniz – Jess