Hibernate hbm2ddl如何自动创建table?
How does Hibernate hbm2ddl automatically create table?
我正在阅读 Java EE (JBoss) 应用程序示例,并在 Java EE 中学习 Hibernate 的基础知识。在src/main/resources/META-INF/persistence.xml下:
<jta-data-source>java:jboss/datasources/MemberDS</jta-data-source>
<properties>
<!-- Properties for Hibernate -->
<property name="hibernate.hbm2ddl.auto" value="create" />
<property name="hibernate.show_sql" value="false" />
</properties>
</persistence-unit>
在src/main/resources/import下。sql:
insert into Member (id, name, email, password, phone_number) values (0, 'John Smith', 'john.smith@mailinator.com', 'password', '2125551212')
在模型包下,它有一个成员class。
我的问题:
- 应用程序如何在数据库中自动创建 Table 成员?
- 它从哪里获得架构信息?
- 为什么以及如何在应用程序 运行 后自动执行 'import.sql'?
您问题的答案,按顺序:
- 应用程序如何在数据库中自动创建
Member
table?
通过执行 CREATE TABLE
语句。
- 它从哪里获取架构信息?
来自您的 entities/entity 配置。
- 为什么以及如何在应用程序 运行 后自动执行
import.sql
?
至于方法:如果 hibernate.hbm2ddl.auto
属性 设置为 create
,Hibernate 将自动尝试从类路径的根目录导入 import.sql
文件(要导入的文件可以使用 hibernate.hbm2ddl.import_files
属性).
进一步指定
至于为什么:我只能猜测,但我猜 Hibernate 团队认为这可能是一个方便的功能?
我正在阅读 Java EE (JBoss) 应用程序示例,并在 Java EE 中学习 Hibernate 的基础知识。在src/main/resources/META-INF/persistence.xml下:
<jta-data-source>java:jboss/datasources/MemberDS</jta-data-source>
<properties>
<!-- Properties for Hibernate -->
<property name="hibernate.hbm2ddl.auto" value="create" />
<property name="hibernate.show_sql" value="false" />
</properties>
</persistence-unit>
在src/main/resources/import下。sql:
insert into Member (id, name, email, password, phone_number) values (0, 'John Smith', 'john.smith@mailinator.com', 'password', '2125551212')
在模型包下,它有一个成员class。
我的问题:
- 应用程序如何在数据库中自动创建 Table 成员?
- 它从哪里获得架构信息?
- 为什么以及如何在应用程序 运行 后自动执行 'import.sql'?
您问题的答案,按顺序:
- 应用程序如何在数据库中自动创建
Member
table?
通过执行CREATE TABLE
语句。 - 它从哪里获取架构信息?
来自您的 entities/entity 配置。 - 为什么以及如何在应用程序 运行 后自动执行
import.sql
?
至于方法:如果hibernate.hbm2ddl.auto
属性 设置为create
,Hibernate 将自动尝试从类路径的根目录导入import.sql
文件(要导入的文件可以使用hibernate.hbm2ddl.import_files
属性).
进一步指定 至于为什么:我只能猜测,但我猜 Hibernate 团队认为这可能是一个方便的功能?