代码之家  ›  专栏  ›  技术社区  ›  Ramesh Kithsiri HettiArachchi

使用hibernate时操作数堆栈类型错误

  •  0
  • Ramesh Kithsiri HettiArachchi  · 技术社区  · 4 年前

    我在使用hibernate时出错。这是堆栈跟踪:-

    java.lang.VerifyError: Bad type on operand stack
    Exception Details:
      Location:
        org/hibernate/type/BasicTypeRegistry.<init>()V @406: invokespecial
      Reason:
        Type 'org/hibernate/type/DateType' (current frame, stack[3]) is not assignable to 'org/hibernate/type/AbstractStandardBasicType'
      Current Frame:
        bci: @406
        flags: { }
        locals: { 'org/hibernate/type/BasicTypeRegistry' }
        stack: { 'org/hibernate/type/BasicTypeRegistry', uninitialized 399, uninitialized 399, 'org/hibernate/type/DateType' }
      Bytecode:
        0x0000000: 2ab7 0003 2abb 0004 5910 6412 0504 b700
        0x0000010: 06b5 0007 2ab2 0008 b600 092a b200 0ab6
        0x0000020: 0009 2ab2 000b b600 092a b200 0cb6 0009
        0x0000030: 2ab2 000d b600 092a b200 0eb6 0009 2ab2
        0x0000040: 000f b600 092a b200 10b6 0009 2ab2 0011
        0x0000050: b600 092a b200 12b6 0009 2ab2 0013 b600
        0x0000060: 092a b200 14b6 0009 2ab2 0015 b600 092a
        0x0000070: b200 16b6 0009 2ab2 0017 b600 092a b200
        0x0000080: 18b6 0009 2ab2 0019 b600 092a b200 1ab6
        0x0000090: 0009 2ab2 001b b600 092a b200 1cb6 0009
        0x00000a0: 2ab2 001d b600 092a b200 1eb6 0009 2ab2
        0x00000b0: 001f b600 092a b200 20b6 0009 2ab2 0021
        0x00000c0: b600 092a b200 22b6 0009 2ab2 0023 b600
        0x00000d0: 092a b200 24b6 0009 2ab2 0025 b600 092a
        0x00000e0: b200 26b6 0009 2ab2 0027 b600 092a b200
        0x00000f0: 28b6 0009 2ab2 0029 b600 092a b200 2ab6
        0x0000100: 0009 2ab2 002b b600 092a b200 2cb6 0009
        0x0000110: 2ab2 002d b600 092a b200 2eb6 0009 2ab2
        0x0000120: 002f b600 092a b200 30b6 0009 2ab2 0031
        0x0000130: b600 092a b200 32b6 0009 2ab2 0033 b600
        0x0000140: 092a b200 34b6 0009 2ab2 0035 b600 092a
        0x0000150: b200 36b6 0009 2ab2 0037 b600 092a b200
        0x0000160: 38b6 0009 2ab2 0039 b600 092a b200 3ab6
        0x0000170: 0009 2ab2 003b b600 092a b200 3cb6 0009
        0x0000180: 2ab2 003d b600 092a b200 3eb6 0009 2abb
        0x0000190: 003f 59b2 0022 b700 40b6 0009 2abb 003f
        0x00001a0: 59b2 0023 b700 40b6 0009 2abb 003f 59b2
        0x00001b0: 0024 b700 40b6 0009 2abb 003f 59b2 0025
        0x00001c0: b700 40b6 0009 2abb 003f 59b2 0026 b700
        0x00001d0: 40b6 0009 2abb 003f 59b2 0027 b700 40b6
        0x00001e0: 0009 2abb 003f 59b2 002f b700 40b6 0009
        0x00001f0: 2abb 003f 59b2 003d b700 40b6 0009 b1  
    
        org.hibernate.type.spi.TypeConfiguration.<init>(TypeConfiguration.java:88)
        org.hibernate.boot.internal.BootstrapContextImpl.<init>(BootstrapContextImpl.java:112)
        org.hibernate.boot.internal.MetadataBuilderImpl.<init>(MetadataBuilderImpl.java:123)
        org.hibernate.boot.internal.MetadataBuilderImpl.<init>(MetadataBuilderImpl.java:92)
        org.hibernate.boot.MetadataSources.getMetadataBuilder(MetadataSources.java:129)
        org.hibernate.boot.MetadataSources.buildMetadata(MetadataSources.java:185)
        com.sliit.musicstore.utils.HibernateUtil.getSessionFactory(HibernateUtil.java:58)
        com.sliit.musicstore.utils.HibernateUtil.openCurrentSession(HibernateUtil.java:23)
        com.sliit.musicstore.dao.UserDAO.findByEmail(UserDAO.java:13)
        com.sliit.musicstore.services.UserService.login(UserService.java:27)
        com.sliit.musicstore.controllers.UserLoginController.doPost(UserLoginController.java:35)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    
    

    这是我的getSessionFactory方法:-

     protected static SessionFactory getSessionFactory() {
            final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
                    .configure()
                    .build();
    
            return new MetadataSources( registry )
                .buildMetadata()
                .buildSessionFactory();
        }
    

    [INFO] com.sliit.musicstore:musicstore:war:1.0-SNAPSHOT
    [INFO] +- junit:junit:jar:3.8.1:test
    [INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:compile
    [INFO] +- mysql:mysql-connector-java:jar:8.0.19:compile
    [INFO] |  \- com.google.protobuf:protobuf-java:jar:3.6.1:compile
    [INFO] +- org.hibernate.orm:hibernate-core:jar:6.0.0.Alpha5:compile
    [INFO] |  +- org.jboss.logging:jboss-logging:jar:3.3.2.Final:compile
    [INFO] |  +- javax.persistence:javax.persistence-api:jar:2.2:compile
    [INFO] |  +- org.javassist:javassist:jar:3.24.0-GA:compile
    [INFO] |  +- net.bytebuddy:byte-buddy:jar:1.10.7:compile
    [INFO] |  +- org.antlr:antlr4:jar:4.8-1:compile
    [INFO] |  |  +- org.antlr:antlr4-runtime:jar:4.8-1:compile
    [INFO] |  |  +- org.antlr:antlr-runtime:jar:3.5.2:compile
    [INFO] |  |  +- org.antlr:ST4:jar:4.3:compile
    [INFO] |  |  +- org.abego.treelayout:org.abego.treelayout.core:jar:1.0.3:compile
    [INFO] |  |  +- org.glassfish:javax.json:jar:1.0.4:compile
    [INFO] |  |  \- com.ibm.icu:icu4j:jar:61.1:compile
    [INFO] |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.1.1.Final:compile
    [INFO] |  +- org.jboss:jandex:jar:2.1.1.Final:compile
    [INFO] |  +- com.fasterxml:classmate:jar:1.5.1:compile
    [INFO] |  +- javax.activation:javax.activation-api:jar:1.2.0:compile
    [INFO] |  +- org.dom4j:dom4j:jar:2.1.3:compile
    [INFO] |  +- javax.xml.bind:jaxb-api:jar:2.3.1:compile
    [INFO] |  \- org.glassfish.jaxb:jaxb-runtime:jar:2.3.1:compile
    [INFO] |     +- org.glassfish.jaxb:txw2:jar:2.3.1:compile
    [INFO] |     +- com.sun.istack:istack-commons-runtime:jar:3.0.7:compile
    [INFO] |     +- org.jvnet.staxex:stax-ex:jar:1.8:compile
    [INFO] |     \- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.15:compile
    [INFO] +- org.hibernate.common:hibernate-commons-annotations:jar:5.1.0.Final:compile
    [INFO] +- javax.transaction:jta:jar:1.1:compile
    [INFO] \- javax.servlet:jstl:jar:1.2:compile
    
    

    我已经用谷歌搜索过了。但是没有运气。之后,我浏览了hibernate存储库的源代码。他们已经延长了期限 DateType AbstractStandardBasicType

    如何解决这个问题?

    0 回复  |  直到 4 年前