Mariano Kocalka Machala [
https://community.jboss.org/people/marianokm] created the
discussion
"Re: HHH015011: Unable to locate static metamodel field"
To view the discussion, visit:
https://community.jboss.org/message/733432#733432
--------------------------------------------------------------
Hi, Scott
These are the issues we are facing with criteria/metamodel APIs and Jboss-as-7.1.0
As you can see from the attached example (zip file), we are extending an @Entity
(TaxAgent) from a @MappedSuperclass (Agent)
Agent has an @Embedded attribute (document), and this generates two errors:
1. When deploying there "Unable to locate static metamodel field" errors. Note
that this errors act at two levels, first the document field cannot be found in TaxAgent_
but also, the documentType field cannot be found inside our embeddable, Document_.
2. When trying to create a path expression from the root object (taxAgent) to
TaxAgent_.document an exception is thrown (which is below).
3. Also, we've found this:
https://hibernate.onjira.com/browse/HHH-5024 https://hibernate.onjira.com/browse/HHH-5024
(which is similar but a different hierarchy @Embeddable extending a @MappedSuperclass)
4. At "deploy" time the logger error message as below:
17:15:01,452 ERROR [MetadataContext] Unable to locate static metamodel field :
agents.TaxAgent_#document
17:15:01,457 ERROR [MetadataContext] Unable to locate static metamodel field :
stuff.Document_#documentType
5. At query time:
public final List<TaxAgent> getList(final String description)
{
List<TaxAgent> taxAgentList = null;
try
{
final CriteriaBuilder cb = em.getCriteriaBuilder();
final CriteriaQuery<TaxAgent> cq = cb.createQuery(TaxAgent.class);
final Root<TaxAgent> taxAgent = cq.from(TaxAgent.class);
// <- This is the exception line: at
service.manager.ejb.TaxAgentManagerEJB.getList(TaxAgentManagerEJB.java:61) [:]
final Path<Document> document = taxAgent.get(TaxAgent_.document);
// final Path<Document> document = taxAgent.get("document"); //
<- This works (just in case you were asking)
final Path<String> documentNumber = document.get(Document_.documentNumber);
final StringBuilder sb = new StringBuilder();
sb.append("%").append(description.trim().replaceAll(" ",
"%")).append("%");
cq.where(cb.like(cb.upper(cb.trim(documentNumber)),
sb.toString().toUpperCase()));
// Gets data.
final TypedQuery<T> tq = em.createQuery(cq);
taxAgentList = tq.getResultList();
}
catch (Throwable t)
{
throw new EJBException(t.getMessage());
}
return taxAgentList;
}
6. Query execution:
2011-11-11 11:24:49,330 ERROR [com.ebizlink.pandora2.web.component.BaseComponent]
(http-127.0.0.1-8080-1) null: javax.ejb.EJBException
at service.manager.ejb.TaxAgentManagerEJB.getList(TaxAgentManagerEJB.java:61) [:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[:1.6.0_20]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:616) [:1.6.0_20]
at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
[jboss-aop.jar:2.2.1.GA]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.interceptors.container.ContainerMethodInvocationWrapper.invokeNext(ContainerMethodInvocationWrapper.java:72)
[:1.1.3]
at
org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:76)
[:1.1.3]
at
org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:62)
[:1.1.3]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[:1.6.0_20]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:616) [:1.6.0_20]
at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
[jboss-aop.jar:2.2.1.GA]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:74)
[:1.1.3]
at
org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_11985797.invoke(InvocationContextInterceptor_z_fillMethod_11985797.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:90)
[:1.1.3]
at
org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_11985797.invoke(InvocationContextInterceptor_z_setup_11985797.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.async.impl.interceptor.AsynchronousServerInterceptor.invoke(AsynchronousServerInterceptor.java:128)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) [:1.0.3]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.core.context.SessionInvocationContextAdapter.proceed(SessionInvocationContextAdapter.java:95)
[:1.7.17]
at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:247)
[:0.0.1]
at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.required(CMTTxInterceptor.java:349)
[:0.0.1]
at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invoke(CMTTxInterceptor.java:209)
[:0.0.1]
at
org.jboss.ejb3.tx2.aop.CMTTxInterceptorWrapper.invoke(CMTTxInterceptorWrapper.java:52)
[:0.0.1]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
[:1.0.0.GA]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) [:1.0.3]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:182)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.core.context.CurrentInvocationContextInterceptor.invoke(CurrentInvocationContextInterceptor.java:47)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
[:1.0.1]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:323)
[:1.7.17]
at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:380)
[:1.7.17]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[:1.6.0_20]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:616) [:1.6.0_20]
at
org.jboss.ejb3.proxy.impl.handler.session.SessionLocalProxyInvocationHandler$LocalContainerInvocation.invokeTarget(SessionLocalProxyInvocationHandler.java:184)
[:1.0.11]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.async.impl.interceptor.AsynchronousClientInterceptor.invoke(AsynchronousClientInterceptor.java:143)
[:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
[jboss-aop.jar:2.2.1.GA]
at
org.jboss.ejb3.proxy.impl.handler.session.SessionLocalProxyInvocationHandler$LocalInvokableContextHandler.invoke(SessionLocalProxyInvocationHandler.java:159)
[:1.0.11]
at $Proxy288.invoke(Unknown Source) at
org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:185)
[:1.0.11]
at $Proxy274.getList(Unknown Source) at
com.ebizlink.pandora2.web.component.form.BaseAutoCompleteComponent.getList(BaseAutoCompleteComponent.java:73)
[:]
at
com.ebizlink.pandora2.web.component.form.BaseAutoCompleteComponent.complete(BaseAutoCompleteComponent.java:59)
[:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[:1.6.0_20]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:616) [:1.6.0_20]
at org.apache.el.parser.AstValue.invoke(AstValue.java:196) [:6.0.0.Final]
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
[:6.0.0.Final]
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)
[:2.0.3-]
at
org.primefaces.component.autocomplete.AutoCompleteRenderer.encodeResults(AutoCompleteRenderer.java:78)
[:]
at
org.primefaces.component.autocomplete.AutoCompleteRenderer.encodeEnd(AutoCompleteRenderer.java:60)
[:]
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
[:2.0.3-]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650) [:2.0.3-]
at
com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:479)
[:2.0.3-]
at
com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:175)
[:2.0.3-]
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1476) [:2.0.3-]
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1487) [:2.0.3-]
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1487) [:2.0.3-]
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1487) [:2.0.3-]
at javax.faces.component.UIForm.visitTree(UIForm.java:331) [:2.0.3-]
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1487) [:2.0.3-]
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1487) [:2.0.3-]
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1487) [:2.0.3-]
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1487) [:2.0.3-]
at
com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:361)
[:2.0.3-]
at
com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:282)
[:2.0.3-]
at
javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:179)
[:2.0.3-]
at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:968) [:2.0.3-]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643) [:2.0.3-]
at
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:378)
[:2.0.3-]
at
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
[:2.0.3-]
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
[:2.0.3-]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) [:2.0.3-]
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135) [:2.0.3-]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309) [:2.0.3-]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)
[:6.0.0.Final]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
[:6.0.0.Final]
at
com.ebizlink.adonis.common.ui.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:31)
[:]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
[:6.0.0.Final]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
[:6.0.0.Final]
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
[:]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
[:6.0.0.Final]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
[:6.0.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
[:6.0.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
[:6.0.0.Final]
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
[:6.0.0.Final]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:593)
[:6.0.0.Final]
at
org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
[:1.1.0.Final]
at
org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
[:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
[:6.0.0.Final]
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
[:6.0.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
[:6.0.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
[:6.0.0.Final]
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
[:6.0.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[:6.0.0.Final]
at
org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
[:6.0.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
[:6.0.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
[:6.0.0.Final]
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
[:6.0.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
[:6.0.0.Final]
at java.lang.Thread.run(Thread.java:636) [:1.6.0_20]
2011-11-11 11:24:49,369 SEVERE [javax.enterprise.resource.webcontainer.jsf.context]
(http-127.0.0.1-8080-1) java.lang.NullPointerException
===============================================================================
sample code
===============================================================================
package agents;
import java.io.Serializable;
import javax.persistence.Embedded;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import javax.persistence.SequenceGenerator;
import stuff.Document;
@MappedSuperclass
@SuppressWarnings("serial")
public abstract class Agent implements Serializable
{
@Id
@SequenceGenerator(name = "id", sequenceName = "agent_seq")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "id")
private Long agentID;
@Embedded
private Document document;
/**
*/
protected Agent(Document document)
{
this.agentID = 0l;
this.document = document;
}
// getters, setters...
}
===============================================================================
sample code
===============================================================================
package agents;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import stuff.Document;
@Entity
@Table(name = "taxagent", uniqueConstraints = @UniqueConstraint(columnNames =
{"documentTypeID", "documentNumber"}))
@SuppressWarnings("serial")
public final class TaxAgent extends Agent
{
/**
*/
protected TaxAgent(Document document)
{
super(document);
}
/**
*/
public TaxAgent()
{
this(null);
}
}
===============================================================================
sample code
===============================================================================
package stuff;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
@Embeddable
@SuppressWarnings("serial")
public final class Document implements Serializable
{
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "documentTypeID")
private DocumentType documentType;
@Column(length = 20)
private String documentNumber;
/**
*/
public Document(DocumentType documentType, String documentNumber)
{
this.documentType = documentType;
this.documentNumber = documentNumber;
}
/**
*/
public Document()
{
this(null, "");
}
// getters, setters...
}
===============================================================================
sample code
===============================================================================
package stuff;
import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@Table(name = "documenttype")
@Cacheable(value = true)
@SuppressWarnings("serial")
public final class DocumentType implements Serializable
{
@Id
@SequenceGenerator(name = "id", sequenceName =
"documenttype_seq")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "id")
private Long documentTypeID;
@Column(length = 50, unique = true)
private String description;
/**
*/
public DocumentType(String description)
{
this.documentTypeID = 0l;
this.description = description;
}
/**
*/
public DocumentType()
{
this("");
}
// getters, setters...
}
===============================================================================
sample code
===============================================================================
package agents;
import stuff.Document;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.StaticMetamodel;
@StaticMetamodel(Agent.class)
public abstract class Agent_ {
public static volatile SingularAttribute<Agent, Document> document;
public static volatile SingularAttribute<Agent, Long> agentID;
}
===============================================================================
sample code
===============================================================================
package agents;
import javax.persistence.metamodel.ListAttribute;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.StaticMetamodel;
@StaticMetamodel(TaxAgent.class)
public abstract class TaxAgent_ extends agents.Agent_ {
}
===============================================================================
sample code
===============================================================================
package stuff;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.StaticMetamodel;
@StaticMetamodel(Document.class)
public abstract class Document_ {
public static volatile SingularAttribute<Document, DocumentType> documentType;
public static volatile SingularAttribute<Document, String> documentNumber;
}
===============================================================================
sample code
===============================================================================
package stuff;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.StaticMetamodel;
@StaticMetamodel(DocumentType.class)
public abstract class DocumentType_ {
public static volatile SingularAttribute<DocumentType, String> description;
public static volatile SingularAttribute<DocumentType, Long> documentTypeID;
}
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/733432#733432]
Start a new discussion in JBoss AS 7 Development at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]