Hibernate和Java
我在连接数据库和向数据库中插入数据时遇到了问题。我连接到它时没有注释,但我需要使用注释 我的hibernate.cfg.xml文件如下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-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文件的旧版本。@CrisEspiManagePerson.main(ManagePerson.java:19)
这里提到的是哪一行代码?SessionFactory=new AnnotationConfiguration().configure(“/hibernate.cfg.xml”).buildSessionFactory();看起来您的依赖项中有一些版本不匹配。是的……这很有意义,谢谢您的类路径中有一个旧版本的JPA jar文件。