Java JPA Hibernate连接问题

 白堤柳帘佳_688 发布于 2023-01-08 17:20

我正在使用Netbeans连接数据库.我想使用Java持久性从数据库中检索数据但我收到这些错误:

jun 18, 2014 9:41:44 AM org.hibernate.annotations.common.Version 
INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
jun 18, 2014 9:41:44 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.2.6.Final}
jun 18, 2014 9:41:44 AM org.hibernate.cfg.Environment 
INFO: HHH000206: hibernate.properties not found
jun 18, 2014 9:41:44 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
    at controle_entregas.controleEntregasUI.jMenuItemNovaEntregaActionPerformed(controleEntregasUI.java:199)
    at controle_entregas.controleEntregasUI.access$100(controleEntregasUI.java:18)
    at controle_entregas.controleEntregasUI$2.actionPerformed(controleEntregasUI.java:85)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
    at java.awt.Component.processMouseEvent(Component.java:6527)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6292)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4883)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4705)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2739)
    at java.awt.Component.dispatchEvent(Component.java:4705)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
    at java.awt.EventQueue.access$400(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.awt.EventQueue$3.run(EventQueue.java:691)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:719)
    at java.awt.EventQueue$4.run(EventQueue.java:717)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: javax.persistence.PersistenceException: Unable to configure EntityManagerFactory
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:387)
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:58)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
    at controle_entregas.CadEditEntrega.(CadEditEntrega.java:33)
    ... 41 more
Caused by: java.lang.RuntimeException: Error while reading file:/C:/Users/Huberto/Documents/NetBeansProjects/Controle_Entregas/build/classes/
    at org.hibernate.ejb.packaging.NativeScanner.getClassesInJar(NativeScanner.java:131)
    at org.hibernate.ejb.Ejb3Configuration.addScannedEntries(Ejb3Configuration.java:487)
    at org.hibernate.ejb.Ejb3Configuration.addMetadataFromScan(Ejb3Configuration.java:477)
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:363)
    ... 45 more
Caused by: java.io.IOException: invalid constant type: 18
    at javassist.bytecode.ConstPool.readOne(ConstPool.java:1113)
    at javassist.bytecode.ConstPool.read(ConstPool.java:1056)
    at javassist.bytecode.ConstPool.(ConstPool.java:150)
    at javassist.bytecode.ClassFile.read(ClassFile.java:765)
    at javassist.bytecode.ClassFile.(ClassFile.java:109)
    at org.hibernate.ejb.packaging.AbstractJarVisitor.checkAnnotationMatching(AbstractJarVisitor.java:246)
    at org.hibernate.ejb.packaging.AbstractJarVisitor.executeJavaElementFilter(AbstractJarVisitor.java:212)
    at org.hibernate.ejb.packaging.AbstractJarVisitor.addElement(AbstractJarVisitor.java:173)
    at org.hibernate.ejb.packaging.ExplodedJarVisitor.getClassNamesInTree(ExplodedJarVisitor.java:126)
    at org.hibernate.ejb.packaging.ExplodedJarVisitor.getClassNamesInTree(ExplodedJarVisitor.java:134)
    at org.hibernate.ejb.packaging.ExplodedJarVisitor.doProcessElements(ExplodedJarVisitor.java:92)
    at org.hibernate.ejb.packaging.AbstractJarVisitor.getMatchingEntries(AbstractJarVisitor.java:149)
    at org.hibernate.ejb.packaging.NativeScanner.getClassesInJar(NativeScanner.java:128)
    ... 48 more

这就是我所说的:

public class CadEditEntrega extends javax.swing.JFrame {
    static DBConnect connection = null;
    private static final String tabela = "clientes";    
    private Integer id = null;
    private Date date = null;

    @PersistenceContext
    static EntityManagerFactory emf = Persistence.createEntityManagerFactory("Controle_EntregasPU");
    public EntityManager em = emf.createEntityManager();

    /**
     * Creates new form CadEditEntrega
     * @param connection
     * @throws java.sql.SQLException
     * @throws java.lang.ClassNotFoundException
     */

    public CadEditEntrega(DBConnect connection) throws SQLException, ClassNotFoundException {
        CadEditEntrega.connection = connection;
        this.date = new Date();
        initComponents();
        jDateChooser.setDate(date);
        preencheComboCliente();
        preencheComboProduto();
    }

    private void preencheComboCliente() throws SQLException{
        /*ResultSet result = connection.dbSelect("*", "clientes");
        while(result.next()){
            jComboBoxCliente.addItem(result.getString("cliente_nome"));
        }*/
        em.getTransaction().begin();
        List list = em.createNamedQuery("Clientes.findAll", Clientes.class).getResultList();
        em.getTransaction().commit();
        em.close();
    }
}

这是我的persistence.xml:



  
    org.hibernate.ejb.HibernatePersistence
    controle_entregas.Clientes
    controle_entregas.Movimentacao
    controle_entregas.MovimentacaoProdutos
    controle_entregas.Produtos
    controle_entregas.TiposMovimentacao
    
      
      
      
      
      
      
    
  

我的项目:

http://i.stack.imgur.com/YuAYl.png

1 个回答
  • 你在使用Java 8吗?如果你是,你可能想要使用最新的Javassist.至少我发现当我使用3.12 GA的Javassist版本时,我遇到了这个问题.所以在你的Maven POM中:

    <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.18.2-GA</version>
    </dependency>
    

    2023-01-08 17:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有