0

OpenXava ファイルのステレオタイプと組み込みクラスを試しているところ、奇妙なエラーが見つかりました。まず第一に、レコードを作成し、最初に保存する前に一連のファイルを添付すると、すべてが機能します。ただし、最初にレコード (テンプル) を作成し、埋め込まれたレコード (ライブラリ) をすべて空白のままにして保存し (正常に保存されたと表示されます)、編集に戻ると、次のメッセージが表示されます。ファイル アクションを追加: メンバー ライブラリ.ドキュメントがモデル Temple に見つかりません"

これについて、Google経由で役立つものを見つけることができませんでした。

これは私が間違っていることですか、それとも OpenXava ライブラリのエラーですか。

私が使用している: OpenXava バージョン 5.1.1 付属の Tomcat: Apache Tomcat バージョン 7.0.50 Oracle 11g

これが私の Temple と内部の Library クラスです。

package org.openxava.zen.model;

import javax.persistence.*;

import org.openxava.annotations.*;

@Entity
public class Temple 
{
    @Id @Column(length=3) @GeneratedValue @ReadOnly
    private int id;

    @Version
    private Integer version;

    @Column(length=50)
    private String name;

    @Stereotype("IMAGES_GALLERY")
    private String photos;

    @Column
    private String address;

    @Embedded
    private Library library;

    @Embeddable
    public static class Library
    {
        @Stereotype("FILES")
        @Column(length=32)
        private String documents;

        public Admittance getAdmittance() {
            return admittance;
        }

        public void setAdmittance(Admittance admittance) {
            this.admittance = admittance;
        }

        @Column
        private Admittance admittance;

        public enum Admittance {MEMBERS_ONLY, COMMUNITY, EVERYONE};

        public String getDocuments() 
        {
            return documents;
        }

        public void setDocuments(String documents) 
        {
            this.documents = documents;
        }
    }


    public Library getLibrary() {
        return library;
    }

    public void setLibrary(Library library) {
        this.library = library;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhotos() {
        return photos;
    }

    public void setPhotos(String photos) {
        this.photos = photos;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }


    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

}

完全なスタック トレース:

2014 年 12 月 1 日 4:09:46 PM org.directwebremoting.util.CommonsLoggingOutput 情報情報: Exec: Module.request() 2014 年 12 月 1 日 4:09:46 PM org.openxava.model.impl.MapFacadeBean 検証警告: 警告!: Temple のメンバー library.documents が検証されていません: Type unown (property, reference, collection) Dec 01, 2014 4:09:46 PM org.openxava.controller.ModuleManager manageRegularException SEVERE: Member library.documents not found in model Temple org .openxava.util.XavaException: org.openxava.model.impl.MapFacadeBean.convertSubmapsInObject(MapFacadeBean.java:1675) のモデル Temple にメンバー library.documents が見つかりません org.openxava.model.impl.MapFacadeBean.setValues(MapFacadeBean. java:1337) org.openxava.model.impl.MapFacadeBean.setValues(MapFacadeBean.java:198) で org.openxava.model.MapFacade.setValues(MapFacade.java:635) org.openxava.actions.AddFileToFilesetAction.execute(AddFileToFilesetAction.java:27) で org.openxava.controller.ModuleManager.executeAction(ModuleManager.java:493) で org.openxava.controller.ModuleManager.executeAction(ModuleManager.java) :401) org.openxava.controller.ModuleManager.execute(ModuleManager.java:358) で org.apache.jsp.xava.execute_jsp._jspService(execute_jsp.java:196) で org.apache.jasper.runtime.HttpJspBase. org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) の javax.servlet.http.HttpServlet.service(HttpServlet.java:728) のサービス (HttpJspBase.java:70) org.apache.jasper の.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) のサービス (HttpServlet.java:728) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) の org.apache org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605) の .catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java) :544) org.openxava.web.servlets.Servlets.getURIAsStream(Servlets.java:66) で org.openxava.web.dwr.Module.getURIAsStream(Module.java:205) で org.openxava.web.dwr. Module.request(Module.java:64) の sun.reflect.GeneratedMethodAccessor41.invoke(不明なソース) の sun.reflect.DelegatingMethodAccessorImpl。org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34) での java.lang.reflect.Method.invoke(Method.java:606) での invoke(DelegatingMethodAccessorImpl.java:43) org.directwebremoting.impl.DefaultRemoter での$1.doFilter(DefaultRemoter.java:428) org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431) org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283) org.directwebremoting.servlet org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101) の .PlainCallHandler.handle(PlainCallHandler.java:52) org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146) の javax.servlet. org.apache の javax.servlet.http.HttpServlet.service(HttpServlet.java:728) の http.HttpServlet.service(HttpServlet.java:647)。org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter. java:52) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) で org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) で org.apache.catalina.core .StandardWrapperValve.invoke(StandardWrapperValve.java:222) で org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) で org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) でorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 組織で。org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:118) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) で org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) で org.apache.coyote.AbstractProtocol $AbstractConnectionHandler.process(AbstractProtocol.java:607) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java.lang.Thread.run(Thread.java:744) でorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 118) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) で org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) で org.apache.coyote.AbstractProtocol$AbstractConnectionHandler .process(AbstractProtocol.java:607) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) でjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java.lang.Thread.run(Thread.java:744)org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 118) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) で org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) で org.apache.coyote.AbstractProtocol$AbstractConnectionHandler .process(AbstractProtocol.java:607) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) でjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java.lang.Thread.run(Thread.java:744)ErrorReportValve.invoke(ErrorReportValve.java:100) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) org .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol) .java:607) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) で java.util. concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java.lang.Thread.run(Thread.java:744)ErrorReportValve.invoke(ErrorReportValve.java:100) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) org .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol) .java:607) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) で java.util. concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java.lang.Thread.run(Thread.java:744)org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) で (ErrorReportValve.java:100) を呼び出します。org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) で.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java) :607) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) で java.util.concurrent で。 java.lang.Thread.run(Thread.java:744) で ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) で (ErrorReportValve.java:100) を呼び出します。org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) で.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java) :607) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) で java.util.concurrent で。 java.lang.Thread.run(Thread.java:744) で ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) での Valves.AccessLogValve.invoke(AccessLogValve.java:953) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) でorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) で org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) で org.apache.tomcat.util.net.JioEndpoint $SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java. lang.Thread.run(Thread.java:744)org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) での Valves.AccessLogValve.invoke(AccessLogValve.java:953) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) でorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) で org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) で org.apache.tomcat.util.net.JioEndpoint $SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java. lang.Thread.run(Thread.java:744)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) で (StandardEngineValve.java:118) を呼び出す.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor) .java:1145) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java.lang.Thread.run(Thread.java:744) でorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) で (StandardEngineValve.java:118) を呼び出す.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor) .java:1145) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java.lang.Thread.run(Thread.java:744) で1044) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent で.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)1044) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) で java.util.concurrent で.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)

4

1 に答える 1