Кто-нибудь может предоставить пример службы коммутатора с использованием введенного эталонного класса, содержащего:
@PersistenceContext private EntityManager entityManager;
пример с использованием @NamedQueries был бы хорош.
Приветствую!
Кто-нибудь может предоставить пример службы коммутатора с использованием введенного эталонного класса, содержащего:
@PersistenceContext private EntityManager entityManager;
пример с использованием @NamedQueries был бы хорош.
Приветствую!
Используйте привязку Bean к сервису, который вы можете создать. Ниже приведен пример использования REST
/**
* This is the rest interface for Switchyard This interface
* contains the services which are exposed
*/
Interface VendorRestService.java
@Path("/vendorDetails")
public interface VendorRestService {
@GET
@Path("/vendorPriceDetails")
@Produces({ MediaType.APPLICATION_JSON })
public Response<List<String>> getAllPriceDetails(
@QueryParam("vendorId") String vendorId,
@QueryParam("location") String location);
}
VendorService.java
public interface VendorService {
Response<List<String>> getAllPriceDetails(VendorRequest request);
}
VendorRequest.java
public class VendorRequest {
@JsonProperty("vendorId")
private String vendorId;
@JsonProperty("location")
private String location;
getters/setters
}
Класс реализации компонента VendorServiceBean.java
@Service(VendorService.class)
public class VendorServiceBean implements VendorService {
@Override
public Response<List<String>> getAllPriceDetails(VendorRequest request) {
.
.
.
priceList = vendorFacade.getPriceByVendor(request.getVendorId(),request.getLocation());
.
.
.
return Response;
}
}
Класс реализации фасадного слоя VendorFacadeImplementation.java
public class VendorFacadeImplementation implements VendorFacade {
@Inject
private EntityManager em;
@Override
public List<String> getPriceByVendor(String vendorId,
String location) {
try{
query = em
.createNamedQuery("VendorData.getVendorPriceDetails");
query.setParameter("vendorId", vendorId);
query.setParameter("location", location);
List<String> priceList = query.getResultList();
}catch(Exception ex){
}
return priceList;
}
Класс модели. Отображение таблицы БД в класс Java
@Entity
@Table(name = "VendorData")
@NamedQueries({
@NamedQuery(name = "VendorData.getVendorPriceDetails", query = "select vd.price from VendorData vd where vd.vendorId = :vendorId and vd.location = :location"))}
public class VendorData implements java.io.Serializable {
}
/*Expose an entity manager using the resource producer pattern*/
Resources.java
public class Resources {
/*Expose an entity manager using the resource producer pattern*/
@PersistenceContext
@Produces
private EntityManager em;
}