[jboss-dev-forums] [JBoss AS 7 Development] - Re: HHH015011: Unable to locate static metamodel field

Mariano Kocalka Machala do-not-reply at jboss.com
Wed May 2 13:57:19 EDT 2012


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&containerType=14&container=2225]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-dev-forums/attachments/20120502/55bffdd1/attachment.html 


More information about the jboss-dev-forums mailing list