[Error | Java EE 6 | java se 6 | glassfish | mysql | hämta fårn databasen via Date object]

Permalänk
Medlem

[Error | Java EE 6 | java se 6 | glassfish | mysql | hämta fårn databasen via Date object]

Hej!

Har fått ett roligt execption idag:

Exception in thread "AWT-EventQueue-1" javax.ejb.EJBException at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5070) at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:4968) at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4756) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1955) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1906) at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:208) at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:75) at com.sun.proxy.$Proxy167.getSoldItemsByInterval(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:146) at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:176) at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:682) at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:216) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1841) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1695) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1078) at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:221) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:797) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:561) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2558) at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:492) at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:528) Caused by: java.lang.UnsupportedOperationException at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:974) at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createNamedQuery(EntityManagerWrapper.java:555) at entities.SoldItemsList.getSoldItemsByInterval(SoldItemsList.java:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052) at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124) at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5243) at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:615) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797) at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:567) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:157) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:139) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:858) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797) at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:367) at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5215) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5203) at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:201) ... 19 more

Jag la till i programeet:

private SoldItemsListRemote lookupSoldItemsListRemote() { try { Context c = new InitialContext(); return (SoldItemsListRemote) c.lookup("java:comp/env/SoldItemsList"); } catch (NamingException ne) { Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne); throw new RuntimeException(ne); } } private void readPriceFromDB(){ SoldItemsListRemote list = lookupSoldItemsListRemote(); System.out.println("Innan Penis"); List<SoldItems> penis = list.getSoldItemsByInterval(getFromDate(), getToDate()); System.out.println("Efter Penis"); totalSold = 0; for(SoldItems it: penis){ totalSold = totalSold + it.getPrice(); } }

I bönan:

@NamedQuery(name = "SoldItems.findByDateInterval", query = "SELECT s FROM SoldItems s WHERE s.dateOfSale BETWEEN :dateLower AND :dateUpper"),

samt i en annan fil i bönan:

@Override public List<SoldItems> getSoldItemsByInterval(Date dateLower, Date dateUpper){ return em.createNamedQuery("SoldItems.findByDateInterval", SoldItems.class).setParameter("dateLower", dateLower).setParameter("dateUpper", dateUpper).getResultList(); }

Public Interface:

public interface SoldItemsListRemote { List<SoldItems> getSoldItems(); void addSoldItems(SoldItems soldItems); List<SoldItems> getSoldItemsByInterval(Date dateLower, Date dateUpper); }

Det var det som laddes till och när vi testade: readPriceFromDB(). Kommer exeptionenet.

Tack för hjälp och svar!

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6

Permalänk
Medlem

Har redan en sett funktion som funkar utmärkt.

Mot databasen.

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6

Permalänk
Medlem

Om ni vill ha mer än bara @NameQuery...:

package entities; import java.io.Serializable; import java.util.Date; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; /** * * @author EnSnubbe */ @Entity @Table(name = "SoldItems") @XmlRootElement @NamedQueries({ @NamedQuery(name = "SoldItems.findAll", query = "SELECT s FROM SoldItems s"), @NamedQuery(name = "SoldItems.findBySoldID", query = "SELECT s FROM SoldItems s WHERE s.soldID = :soldID"), @NamedQuery(name = "SoldItems.findByItemName", query = "SELECT s FROM SoldItems s WHERE s.itemName = :itemName"), @NamedQuery(name = "SoldItems.findByDateOfSale", query = "SELECT s FROM SoldItems s WHERE s.dateOfSale = :dateOfSale"), @NamedQuery(name = "SoldItems.findByDateInterval", query = "SELECT s FROM SoldItems s WHERE s.dateOfSale BETWEEN :dateLower AND :dateUpper"), @NamedQuery(name = "SoldItems.findByPrice", query = "SELECT s FROM SoldItems s WHERE s.price = :price")}) public class SoldItems implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "soldID") private Integer soldID; @Basic(optional = false) @NotNull @Size(min = 1, max = 40) @Column(name = "itemName") private String itemName; @Basic(optional = false) @NotNull @Column(name = "dateOfSale") @Temporal(TemporalType.DATE) private Date dateOfSale; @Basic(optional = false) @NotNull @Column(name = "price") private double price; public SoldItems() { } public SoldItems(Integer soldID) { this.soldID = soldID; } public SoldItems(Integer soldID, String itemName, Date dateOfSale, double price) { this.soldID = soldID; this.itemName = itemName; this.dateOfSale = dateOfSale; this.price = price; } public Integer getSoldID() { return soldID; } public void setSoldID(Integer soldID) { this.soldID = soldID; } public String getItemName() { return itemName; } public void setItemName(String itemName) { this.itemName = itemName; } public Date getDateOfSale() { return dateOfSale; } public void setDateOfSale(Date dateOfSale) { this.dateOfSale = dateOfSale; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } @Override public int hashCode() { int hash = 0; hash += (soldID != null ? soldID.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof SoldItems)) { return false; } SoldItems other = (SoldItems) object; if ((this.soldID == null && other.soldID != null) || (this.soldID != null && !this.soldID.equals(other.soldID))) { return false; } return true; } @Override public String toString() { return "entities.SoldItems[ soldID=" + soldID + " ]"; } }

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6

Permalänk
Medlem

Har kommit fram till att det är:

java.lang.UnsupportedOperationException - if a client uses this method with a QueueSender that did not specify a queue at creation time.

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6

Permalänk
Medlem

Visa sig att glas fisken var en version som inte klarade detta så bytte till glas fisk 3.1.2.2 så fungera det som klockan.

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6