我很困惑,因为如果我不使用 hibernate.cfg.xml
文件。
在没有xml配置文件的代码中配置会话工厂时,如何让hibernate调用ddl生成?我错过了什么?
我的会话工厂通过代码生成,其中ddl不起作用。
Configuration configuration = new Configuration();
configuration
.setProperty("hibernate.connection.driver_class", "org.sqlite.JDBC")
.setProperty("hibernate.connection.url", "jdbc:sqlite:mydb.db")
.setProperty("hibernate.dialect", "org.hibernate.dialect.SQLiteDialect")
.setProperty("hibernate.show_sql", "true")
.setProperty("hibernate.format_sql", "true")
.setProperty("connection.username", "")
.setProperty("connection.password", "")
.setProperty("hibernate.hdm2ddl.auto", "update");
configuration.addAnnotatedClass(Bill.class);
this.factory = configuration.buildSessionFactory();
通过hibernate.xml生成会话工厂。
Configuration configuration = new Configuration();
configuration.configure();
hibernate.cfg.xml(不带xml头)
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="dialect">org.hibernate.dialect.SQLiteDialect</property>
<property name="connection.driver_class">org.sqlite.JDBC</property>
<property name="connection.url">jdbc:sqlite:rechnungen.db</property>
<property name="connection.username"></property>
<property name="connection.password"></property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping class="entity.Bill"/>
</session-factory>
</hibernate-configuration>
1条答案
按热度按时间jhkqcmku1#
我使用下面的代码,它为我工作。在这段代码中,您需要更改持久单元名称(您可以在persistent.xml中找到它)。