我正在尝试对JPA中的解决方案进行查询。我计算出SQL查询,如下所示:
SELECT COUNT(*)
FROM equipo_departamento
WHERE NOT EXISTS
(SELECT *
FROM solicitudes
WHERE codigo = codigo_equipo_departamento
AND estatus != 'F')
在尝试使用pgAdmin 4时给出的输出显然可以正常工作。
因此,我尝试将其转换为一个JPA NamedQuery,并得到了它:
@NamedQuery(name = "Equipodepartamento.totalactiveItems",query="SELECT COUNT(e) FROM Equipodepartamento e WHERE NOT EXISTS" +
"(SELECT s FROM Solicitudes s WHERE e.codigo = s.codigoEquipodepartamento AND s.estatus != 'F')")})
但是,服务器开始引发以下异常:
HTTP Status 500 - Internal Server Error
type Exception report
messageInternal Server Error
descriptionThe server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: javax.ejb.EJBTransactionRolledbackException
root cause
javax.ejb.EJBTransactionRolledbackException
root cause
javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
root cause
javax.ejb.EJBTransactionRolledbackException
root cause
javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
root cause
Exception [eclipseLink-6076] (eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.QueryException
Exception Description: Object comparisons can only be used with OneToOneMappings. Other mapping comparisons must be done through query keys or direct attribute level comparisons.
Mapping: [org.eclipse.persistence.mappings.DirectToFieldMapping[codigo-->equipo_departamento.codigo]]
Expression: [
Query Key codigo
Base domain.Equipodepartamento{Databasetable(t0)=Databasetable(equipo_departamento)}]
Query: ReportQuery(name="Equipodepartamento.totalactiveItems" referenceclass=Equipodepartamento jpql="SELECT COUNT(e) FROM Equipodepartamento e WHERE NOT EXISTS(SELECT s FROM Solicitudes s WHERE e.codigo = s.codigoEquipodepartamento AND s.estatus != 'F')")
我不确定我在做什么错。
完整错误日志:
Warning: StandardWrapperValve[Rest Servlet]: Servlet.service() for servlet Rest Servlet threw exception
Local Exception Stack:
Exception [eclipseLink-6076] (eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.QueryException
Exception Description: Object comparisons can only be used with OneToOneMappings. Other mapping comparisons must be done through query keys or direct attribute level comparisons.
Mapping: [org.eclipse.persistence.mappings.DirectToFieldMapping[codigo-->equipo_departamento.codigo]]
Expression: [
Query Key codigo
Base domain.Equipodepartamento{Databasetable(t0)=Databasetable(equipo_departamento)}]
Query: ReportQuery(name="Equipodepartamento.totalactiveItems" referenceclass=Equipodepartamento jpql="SELECT COUNT(e) FROM Equipodepartamento e WHERE NOT EXISTS(SELECT s FROM Solicitudes s WHERE e.codigo = s.codigoEquipodepartamento AND s.estatus != 'F')")
at org.eclipse.persistence.exceptions.QueryException.unsupportedMappingForObjectComparison(QueryException.java:1170)
at org.eclipse.persistence.mappings.DatabaseMapping.buildObjectJoinExpression(DatabaseMapping.java:292)
at org.eclipse.persistence.internal.expressions.RelationExpression.normalize(RelationExpression.java:832)
at org.eclipse.persistence.internal.expressions.CompoundExpression.normalize(CompoundExpression.java:224)
at org.eclipse.persistence.internal.expressions.SQLSelectStatement.normalize(SQLSelectStatement.java:1449)
at org.eclipse.persistence.internal.expressions.SubSelectExpression.normalizeSubSelect(SubSelectExpression.java:205)
at org.eclipse.persistence.internal.expressions.ExpressionNormalizer.normalizeSubSelects(ExpressionNormalizer.java:114)
at org.eclipse.persistence.internal.expressions.SQLSelectStatement.normalize(SQLSelectStatement.java:1534)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.buildReportQuerySelectStatement(ExpressionQueryMechanism.java:641)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.buildReportQuerySelectStatement(ExpressionQueryMechanism.java:586)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.prepareReportQuerySelectAllRows(ExpressionQueryMechanism.java:1694)
at org.eclipse.persistence.queries.ReportQuery.prepareSelectAllRows(ReportQuery.java:1203)
at org.eclipse.persistence.queries.ReadAllQuery.prepare(ReadAllQuery.java:744)
at org.eclipse.persistence.queries.ReportQuery.prepare(ReportQuery.java:1071)
at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:661)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.checkPrepare(ObjectLevelReadQuery.java:901)
at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:613)
at org.eclipse.persistence.internal.jpa.QueryImpl.getDatabaseQueryInternal(QueryImpl.java:341)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1124)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createNamedQuery(EntityManagerWrapper.java:522)
at eis.ReportesDaoImpl.totalactiveItems(ReportesDaoImpl.java:25)
at sun.reflect.NativeMethodaccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodaccessorImpl.invoke(NativeMethodaccessorImpl.java:62)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.glassfish.ejb.security.application.EJBSecurityManager.runmethod(EJBSecurityManager.java:1081)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
at com.sun.ejb.containers.BaseContainer.invokeBeanmethod(BaseContainer.java:4786)
at com.sun.ejb.Ejbinvocation.invokeBeanmethod(Ejbinvocation.java:656)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.Ejbinvocation.proceed(Ejbinvocation.java:608)
at org.jboss.weld.ejb.AbstractEJBRequestScopeactivationInterceptor.aroundInvoke(AbstractEJBRequestScopeactivationInterceptor.java:46)
at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
at sun.reflect.GeneratedMethodaccessor108.invoke(Unknown Source)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.Ejbinvocation.proceed(Ejbinvocation.java:608)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
at sun.reflect.GeneratedMethodaccessor124.invoke(Unknown Source)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746)
at com.sun.ejb.containers.EJBLocalObjectinvocationHandler.invoke(EJBLocalObjectinvocationHandler.java:212)
at com.sun.ejb.containers.EJBLocalObjectinvocationHandlerDelegate.invoke(EJBLocalObjectinvocationHandlerDelegate.java:88)
at com.sun.proxy.$Proxy563.totalactiveItems(Unknown Source)
at services.ReportesServiceImpl.totalEquiposUniversidad(ReportesServiceImpl.java:29)
at sun.reflect.NativeMethodaccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodaccessorImpl.invoke(NativeMethodaccessorImpl.java:62)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.glassfish.ejb.security.application.EJBSecurityManager.runmethod(EJBSecurityManager.java:1081)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
at com.sun.ejb.containers.BaseContainer.invokeBeanmethod(BaseContainer.java:4786)
at com.sun.ejb.Ejbinvocation.invokeBeanmethod(Ejbinvocation.java:656)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.Ejbinvocation.proceed(Ejbinvocation.java:608)
at org.jboss.weld.ejb.AbstractEJBRequestScopeactivationInterceptor.aroundInvoke(AbstractEJBRequestScopeactivationInterceptor.java:46)
at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
at sun.reflect.GeneratedMethodaccessor108.invoke(Unknown Source)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.Ejbinvocation.proceed(Ejbinvocation.java:608)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
at sun.reflect.GeneratedMethodaccessor124.invoke(Unknown Source)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746)
at com.sun.ejb.containers.EJBLocalObjectinvocationHandler.invoke(EJBLocalObjectinvocationHandler.java:212)
at com.sun.ejb.containers.EJBLocalObjectinvocationHandlerDelegate.invoke(EJBLocalObjectinvocationHandlerDelegate.java:88)
at com.sun.proxy.$Proxy586.totalEquiposUniversidad(Unknown Source)
at sun.reflect.NativeMethodaccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodaccessorImpl.invoke(NativeMethodaccessorImpl.java:62)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:414)
at org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:127)
at org.jboss.weld.bean.proxy.EnterprisetargetBeanInstance.invoke(EnterprisetargetBeanInstance.java:56)
at org.jboss.weld.bean.proxy.InjectionPointPropagatingEnterprisetargetBeanInstance.invoke(InjectionPointPropagatingEnterprisetargetBeanInstance.java:65)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
at services.ReportesService$1258095923$Proxy$_$$_Weld$EnterpriseProxy$.totalEquiposUniversidad(Unknown Source)
at services.rest.ReportesServiceRS.reporteTotalesUniversidad(ReportesServiceRS.java:44)
at sun.reflect.NativeMethodaccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodaccessorImpl.invoke(NativeMethodaccessorImpl.java:62)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.glassfish.ejb.security.application.EJBSecurityManager.runmethod(EJBSecurityManager.java:1081)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
at com.sun.ejb.containers.BaseContainer.invokeBeanmethod(BaseContainer.java:4786)
at com.sun.ejb.Ejbinvocation.invokeBeanmethod(Ejbinvocation.java:656)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.Ejbinvocation.proceed(Ejbinvocation.java:608)
at org.jboss.weld.ejb.AbstractEJBRequestScopeactivationInterceptor.aroundInvoke(AbstractEJBRequestScopeactivationInterceptor.java:46)
at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
at sun.reflect.GeneratedMethodaccessor108.invoke(Unknown Source)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.Ejbinvocation.proceed(Ejbinvocation.java:608)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
at sun.reflect.GeneratedMethodaccessor124.invoke(Unknown Source)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746)
at com.sun.ejb.containers.EJBLocalObjectinvocationHandler.invoke(EJBLocalObjectinvocationHandler.java:212)
at com.sun.ejb.containers.EJBLocalObjectinvocationHandlerDelegate.invoke(EJBLocalObjectinvocationHandlerDelegate.java:88)
at com.sun.proxy.$Proxy585.reporteTotalesUniversidad(Unknown Source)
at services.rest.__EJB31_Generated__ReportesServiceRS__Intf____Bean__.reporteTotalesUniversidad(Unknown Source)
at sun.reflect.NativeMethodaccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodaccessorImpl.invoke(NativeMethodaccessorImpl.java:62)
at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.glassfish.jersey.server.model.internal.ResourceMethodinvocationHandlerFactory$1.invoke(ResourceMethodinvocationHandlerFactory.java:81)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:152)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103)
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:254)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:381)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:344)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.glassfish.tyrus.servlet.tyrusServletFilter.doFilter(tyrusServletFilter.java:295)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:748)
我正在使用的模型如下:
Equipodepartamento:
package domain;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
/**
*
* @author Scorpion
*/
@Entity
@Table(name = "equipo_departamento")
@NamedQueries({
@NamedQuery(name = "Equipodepartamento.findAll",query = "SELECT e FROM Equipodepartamento e"),@NamedQuery(name = "Equipodepartamento.findByCodigo",query = "SELECT e FROM Equipodepartamento e WHERE e.codigo = :codigo"),@NamedQuery(name = "Equipodepartamento.totalactiveItems",query="SELECT COUNT(e) FROM Equipodepartamento e WHERE NOT EXISTS" +
"(SELECT s FROM Solicitudes s WHERE e.codigo = s.codigoEquipodepartamento AND s.estatus != 'F')")})
@XmlRootElement
public class Equipodepartamento implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "id_equipodpto")
@SequenceGenerator(name="id_equipodpto",sequenceName = "equipo_departamento_codigo_seq",allocationSize = 1)
@Basic(optional = false)
@Column(name = "codigo")
private Integer codigo;
@JoinColumn(name = "codigo_departamento",referencedColumnName = "codigo")
@ManyToOne(optional = false)
private Departamento codigoDepartamento;
@JoinColumn(name = "codigo_equipo",referencedColumnName = "codigo")
@ManyToOne(optional = false)
private Equipo codigoEquipo;
@JoinColumn(name = "codigo_estado_equipo",referencedColumnName = "codigo")
@ManyToOne(optional = false)
private EstadoEquipo codigoEstadoEquipo;
@OneToMany(cascade = CascadeType.ALL,mappedBy = "codigoEquipodepartamento")
private List<Solicitudes> solicitudesList;
public Equipodepartamento() {
}
public Equipodepartamento(Integer codigo) {
this.codigo = codigo;
}
public Integer getcodigo() {
return codigo;
}
public void setCodigo(Integer codigo) {
this.codigo = codigo;
}
public Departamento getcodigoDepartamento() {
return codigoDepartamento;
}
public void setCodigoDepartamento(Departamento codigoDepartamento) {
this.codigoDepartamento = codigoDepartamento;
}
public Equipo getcodigoEquipo() {
return codigoEquipo;
}
public void setCodigoEquipo(Equipo codigoEquipo) {
this.codigoEquipo = codigoEquipo;
}
public EstadoEquipo getcodigoEstadoEquipo() {
return codigoEstadoEquipo;
}
public void setCodigoEstadoEquipo(EstadoEquipo codigoEstadoEquipo) {
this.codigoEstadoEquipo = codigoEstadoEquipo;
}
@XmlTransient
public List<Solicitudes> getsolicitudesList() {
return solicitudesList;
}
public void setsolicitudesList(List<Solicitudes> solicitudesList) {
this.solicitudesList = solicitudesList;
}
@Override
public int hashCode() {
int hash = 0;
hash += (codigo != null ? codigo.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 Equipodepartamento)) {
return false;
}
Equipodepartamento other = (Equipodepartamento) object;
if ((this.codigo == null && other.codigo != null) || (this.codigo != null && !this.codigo.equals(other.codigo))) {
return false;
}
return true;
}
@Override
public String toString() {
return "domain.Equipodepartamento[ codigo=" + codigo + " ]";
}
}
问候:
package domain;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
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 Scorpion
*/
@Entity
@Table(name = "solicitudes")
@NamedQueries({
@NamedQuery(name = "Solicitudes.findAll",query = "SELECT s FROM Solicitudes s"),@NamedQuery(name = "Solicitudes.findByCodigo",query = "SELECT s FROM Solicitudes s WHERE s.codigo = :codigo"),@NamedQuery(name = "Solicitudes.findByTipoSolicitud",query = "SELECT s FROM Solicitudes s WHERE s.tipoSolicitud = :tipoSolicitud"),@NamedQuery(name = "Solicitudes.findByFechaInicio",query = "SELECT s FROM Solicitudes s WHERE s.fechaInicio = :fechaInicio"),@NamedQuery(name = "Solicitudes.findByFechaAtencion",query = "SELECT s FROM Solicitudes s WHERE s.fechaAtencion = :fechaAtencion")})
@XmlRootElement
public class Solicitudes implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "id_solicitud")
@SequenceGenerator(name="id_solicitud",sequenceName = "solicitudes_codigo_seq",allocationSize = 1)
@Basic(optional = false)
@Column(name = "codigo")
private Integer codigo;
@Basic(optional = false)
@NotNull
@Size(min = 1,max = 2147483647)
@Column(name = "tipo_solicitud")
private String tipoSolicitud;
@Basic(optional = false)
@NotNull
@Column(name = "fecha_inicio")
@Temporal(TemporalType.DATE)
private Date fechaInicio;
@Column(name = "fecha_atencion")
private Integer fechaAtencion;
@Basic(optional = false)
@NotNull
@Column(name = "estatus")
private String estatus;
@JoinColumn(name = "codigo_equipo_departamento",referencedColumnName = "codigo")
@ManyToOne(optional = false)
private Equipodepartamento codigoEquipodepartamento;
@JoinColumn(name = "nombre_usuario",referencedColumnName = "nombre_usuario")
@ManyToOne(optional = false)
private Usuario nombreUsuario;
public Solicitudes() {
}
public Solicitudes(Integer codigo) {
this.codigo = codigo;
}
public Solicitudes(Integer codigo,String tipoSolicitud,Date fechaInicio,String estatus) {
this.codigo = codigo;
this.tipoSolicitud = tipoSolicitud;
this.fechaInicio = fechaInicio;
this.estatus = estatus;
}
public Integer getcodigo() {
return codigo;
}
public void setCodigo(Integer codigo) {
this.codigo = codigo;
}
public String getTipoSolicitud() {
return tipoSolicitud;
}
public void setTipoSolicitud(String tipoSolicitud) {
this.tipoSolicitud = tipoSolicitud;
}
public Date getFechaInicio() {
return fechaInicio;
}
public void setfechaInicio(Date fechaInicio) {
this.fechaInicio = fechaInicio;
}
public Integer getFechaAtencion() {
return fechaAtencion;
}
public void setfechaAtencion(Integer fechaAtencion) {
this.fechaAtencion = fechaAtencion;
}
public String getEstatus() {
return estatus;
}
public void setEstatus(String estatus) {
this.estatus = estatus;
}
public Equipodepartamento getcodigoEquipodepartamento() {
return codigoEquipodepartamento;
}
public void setCodigoEquipodepartamento(Equipodepartamento codigoEquipodepartamento) {
this.codigoEquipodepartamento = codigoEquipodepartamento;
}
public Usuario getNombreUsuario() {
return nombreUsuario;
}
public void setNombreUsuario(Usuario nombreUsuario) {
this.nombreUsuario = nombreUsuario;
}
@Override
public int hashCode() {
int hash = 0;
hash += (codigo != null ? codigo.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 Solicitudes)) {
return false;
}
Solicitudes other = (Solicitudes) object;
if ((this.codigo == null && other.codigo != null) || (this.codigo != null && !this.codigo.equals(other.codigo))) {
return false;
}
return true;
}
@Override
public String toString() {
return "domain.Solicitudes[ codigo=" + codigo + " ]";
}
}