2016-06-17 9 views
0

Wie bekomme ich Hibernate, um die Datenbankstruktur für mich zu erstellen? Es folgt ein Ausschnitt aus meiner applicationContext.xml Datei:Kann Hibernate nicht zum Erstellen von Schema

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="packagesToScan" value="com.application.model" /> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> 
      <prop key="hbm2ddl.auto">create</prop> 
      <prop key="hibernate.show_sql">true</prop> 
     </props> 
    </property> 
</bean> 

Obwohl ich die hbm2ddl.auto Eigenschaft angegeben haben, wie erstellen, Hibernate ist nicht das Schema für mich zu schaffen. Wenn ich einen Anruf verwenden, um zu session.save() ein Objekt in der Datenbank zu speichern, erhalte ich einen Fehler wie folgt:

com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'Person'. 

Hier mein Anruf()

public void createNewPerson(final String personName, final int personAge) 
{ 
    final Person person = new Person(); 
    person.setName(personName); 
    person.setAge(personAge); 
    final Session session = this.getSessionFactory().openSession(); 
    session.beginTransaction(); 
    session.save(person); 
    session.getTransaction().commit(); 
    session.close(); 
} 

session.save ist Modellklasse

@Entity 
public class Person 
{ 
    @Id 
    @GeneratedValue 
    private int id; 

    private String name; 

    private int age; 

    //getters and setters excluded 
} 

Antwort

0

Verstanden durch die Arbeit mit

hibernate.hbm2ddl.auto 

anstelle von

hbm2ddl.auto 
Verwandte Themen