Hibernate和Java

Hibernate和Java,java,oracle,hibernate,Java,Oracle,Hibernate,我在连接数据库和向数据库中插入数据时遇到了问题。我连接到它时没有注释,但我需要使用注释 我的hibernate.cfg.xml文件如下 <hibernate-configuration> <session-factory> <property name = "hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property> <pr

我在连接数据库和向数据库中插入数据时遇到了问题。我连接到它时没有注释,但我需要使用注释

我的hibernate.cfg.xml文件如下

<hibernate-configuration>
    <session-factory>

        <property name = "hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <property name = "hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name = "hibernate.connection.url">jdbc:oracle:thin:@fullproject.cyephgag55my.us-east-1.rds.amazonaws.com:1521:ORCL</property>
        <property name = "hibernate.connection.username">sa</property>
        <property name = "hibernate.connection.password">abcd1234</property>
        <!-- Hibernate Options 
        <property name = "show_sql">true</property>
        <property name="connection.pool_size">1</property>
        <property name="hbm2ddl.auto">update</property>-->
        <mapping resource="Db.hbm.xml"/>
        <mapping class="com.exam.PersonalInfo"/>
    </session-factory>
</hibernate-configuration>
我用来做所有动作的java文件是

public class ManagePerson {

    public static void main(String[] args) {

        //AnnotationConfiguration config = new AnnotationConfiguration();
        //config.configure("/hibernate.cfg.xml");
        System.out.println("Hola");
        SessionFactory factory = new AnnotationConfiguration().configure("/hibernate.cfg.xml").buildSessionFactory();
        Session session = (Session) factory.getCurrentSession().beginTransaction();
        //Transaction tran = session.beginTransaction();
        try{
            PersonalInfo pi = new PersonalInfo();
            pi.setFname("Steve");
            pi.setLname("Rogers");
            pi.setSsn(368572734);
            pi.setDob("10/12/1937");
            pi.setAddress("15 Captain America Rd.");
            pi.setCity("Manhattan");
            pi.setState("New York");
            pi.setEmail("captainAmerica@gmail.com");
            pi.setPassword("IamCaptAmerica1!");
            pi.setPhoneNum("7812649845");
            session.save(pi);
            //tran.commit();
            System.out.println("Person Added");
            session.flush();
        }catch(HibernateException e){
            e.printStackTrace();
        }
    }
}
即将出现的错误是

Exception in thread "main" java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
    at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:1080)
    at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:765)
    at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:245)
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:222)
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265)
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83)
    at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418)
    at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:692)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
    at ManagePerson.main(ManagePerson.java:19)

请告诉我我做错了什么或错过了什么。注释掉的行也不起作用。请帮助…谢谢。

请在PersonalInfo类中添加成员属性“id”,并将此id属性映射到db表PersonalInfo的唯一列

范例

 @Id @GeneratedValue
 @Column(name = "id")
 private int id;

请在PersonalInfo类中添加成员属性“id”,并将此id属性映射到db表PersonalInfo的唯一列

范例

 @Id @GeneratedValue
 @Column(name = "id")
 private int id;

@CrisEspi
ManagePerson.main(ManagePerson.java:19)
这里提到了哪一行代码?SessionFactory=new AnnotationConfiguration().configure(“/hibernate.cfg.xml”).buildSessionFactory();看起来您的依赖项中有一些版本不匹配。是的……这很有意义,谢谢您的类路径中有JPA jar文件的旧版本。@CrisEspi
ManagePerson.main(ManagePerson.java:19)
这里提到的是哪一行代码?SessionFactory=new AnnotationConfiguration().configure(“/hibernate.cfg.xml”).buildSessionFactory();看起来您的依赖项中有一些版本不匹配。是的……这很有意义,谢谢您的类路径中有一个旧版本的JPA jar文件。