问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何根据hibernate的实体类和实体类配置文件生成数据库的表

发布网友 发布时间:2022-04-08 05:03

我来回答

2个回答

热心网友 时间:2022-04-08 06:32

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1/lianxi</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>

<mapping resource="com/bjsxt/crm/model/User.hbm.xml"/>
<mapping resource="com/bjsxt/crm/model/ContactPerson.hbm.xml"/>
<mapping resource="com/bjsxt/crm/model/Customer.hbm.xml"/>
<mapping resource="com/bjsxt/crm/model/DataDictionary.hbm.xml"/>
</session-factory>
</hibernate-configuration>

上面是hibernate.cfg.xml 的配置,需要注意的就是把实体映射类的配置文件都引用过来。

还有提点需要理解的是 hibernate.hbm2dll.auto的配置:

validate 加载hibernate时,验证创建数据库表结构
create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop 加载hibernate时创建,退出是删除表结构
update 加载hibernate自动更新数据库结构

在本机开发调试初始化数据的时候可以选择create、update等。

但是网站发布正式版本的时候,对数据库现有的数据或表结构进行自动的更新是很危险的。 此时此刻应该由DBA同志通过手工的方式进行后台的数据库操作。

hibernate.hbm2ddl.auto的值建议是“none”或“validate”。“validate”应该是最好的选择:这样spring在加载之初,如果model层和数据库表结构不同,就会报错,这样有助于技术运维预先发现问题。

有了自己的实体类和相应的映射文件后,就可可以通过下面的这个方法由实体类生成数据库的表了,代买如下;

[java] view plaincopyprint?

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class ExportDB {
public static void main(String[] args) {

//读取hibernate.cfg.xml文件
Configuration cfg = new Configuration().configure();

SchemaExport export = new SchemaExport(cfg);

export.create(true, true);
}
}

下面是一些数据库方言,在这里列出方便查找使用

//参照表

DB2

org.hibernate.dialect.DB2Dialect

DB2 AS/400

org.hibernate.dialect.DB2400Dialect

DB2 OS390

org.hibernate.dialect.DB2390Dialect

PostgreSQL

org.hibernate.dialect.PostgreSQLDialect

MySQL

org.hibernate.dialect.MySQLDialect

MySQL with InnoDB

org.hibernate.dialect.MySQLInnoDBDialect

MySQL with MyISAM

org.hibernate.dialect.MySQLMyISAMDialect

Oracle (any version)

org.hibernate.dialect.OracleDialect

Oracle 9i/10g

org.hibernate.dialect.Oracle9Dialect

Sybase

org.hibernate.dialect.SybaseDialect

Sybase Anywhere

org.hibernate.dialect.SybaseAnywhereDialect

Microsoft SQL Server

org.hibernate.dialect.SQLServerDialect

SAP DB

org.hibernate.dialect.SAPDBDialect

Informix

org.hibernate.dialect.InformixDialect

HypersonicSQL

org.hibernate.dialect.HSQLDialect

Ingres

org.hibernate.dialect.IngresDialect

Progress

org.hibernate.dialect.ProgressDialect

Mckoi SQL

org.hibernate.dialect.MckoiDialect

Interbase

org.hibernate.dialect.InterbaseDialect

Pointbase

org.hibernate.dialect.PointbaseDialect

FrontBase

org.hibernate.dialect.FrontbaseDialect

Firebird

org.hibernate.dialect.FirebirdDialect

热心网友 时间:2022-04-08 07:50

在配置文件hibernate.cfg.xml里加上create就可以了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
瑞安市塘下航达汽车电器配件厂怎么样? 意尔康公司总部地址在哪里 I only wish to face the sea, with spring blossoms是什么意思 征信五级分类是什么?被纳入黑名单有什么影响? 你好,如果诈骗分子利用你隐私视频和盗取你的通讯录好友威胁你要钱的话... ...对方有我的私密照片还有通讯录,要求我给他五千,要不然就发我家人,我... ...现在已经一个月没有性生活了。但是她平时对我很好 是怎么了?_百度... 女人半年没有性生活正常吗 谁能用英语给我写一段游戏里面的征婚启事? 征婚启事用英文怎么说? “石榴”的拼音是什么? 纤维素(麸皮)染色需要什么样的染料?最好有具体用量 这种枣好吗?? 两岁的金毛能吃香酥脆枣吗? 酥枣,雪枣,哪种是反季节的枣? 请问各种纺织纤维的染色方法。 粘胶适合哪种染料 手机总是应用程序未安装怎么回事 手机显示应用程序未安装怎么办? 手机管家怎么把私密空间的视频解锁?? 匝道钢箱梁用solidworks放样用什么好? 为什么HTC one m8安装不了刀塔传奇?老是出现应用程序未安装的提示语? 我把视频隐藏到手机管家的私密空间了,但是现在找不到视频了,在卡里也没有了,该怎么办啊 手机管家私密空间视频怎么解密 焊缝强度验算一般什么步骤? 手机隐藏视频是隐到哪里了? 河北永洋钢铁代理商/邯郸的也行啊/主营:钢轨 手机管家升级后我的私密视频那去了 3DMAX可不可以做机械图? 手机不能安装任何软件,提示应用程序未安装 石榴的拼音怎么拼 电热水壶一直插电一壶水可以烧多久? 石榴的读音是什么 电热水壶电源插头怎么通电呢? 笔记本电脑的刷新率有什么办法调到75? 石榴这个词在汉语拼音中的声调是几声? 石榴的正确拼音 电热水壶插上电源指示灯不亮,水也不热,是不是坏了? 如何获取百度地图android版里面poi search里面检索地点的信息 百度地图apoi怎么点击地图获取经纬度并且标注 电热水壶插上电源没反映怎么回事 电水壶插电后不工作是怎么回事??? 百度地图api怎么获得poi详情界面 “石榴”拼音是什么? 电热水壶为什么一插电就跳掉 泡泡糖粘在了头发上 怎么办? 如何获取百度地图android版里面poi search里面检索 石榴这个词在汉语拼音中的声调是几声 石榴的石的拼音 石榴树的拼音?