当前位置:首页 » 数据仓库 » 数据库hbm
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库hbm

发布时间: 2022-12-07 06:18:36

1. ORM所使用的描述对象和数据库之间映射的元数据是指什么 那些hbm文件吗

元数据就是映射关系配置。就是xxx.hbm.xml文件

2. 实体层中字段,数据库表中字段,hbm.xml中的property分别是什么关系初学者!!!!!!!

hbm.xml把实体类和数据库表关联起来,它是配制实体类的对象对应数据库表中的字段:
例:
<class name="com.OA_System.hibernate.bean.OA_DAILY" table="OA_DAILY">
<id name="OA_DAILY_ID" column="ID" type="long">
<generator class="sequence">
<param name="sequence">nl2_sl</param>
</generator>
</id>
<property name="OA_DAILY_DATES" column="DATES" type="string"></property>
<property name="OA_DAILY_ADDRESS" column="ADDRESS" type="string"></property>
<property name="OA_DAILY_RPERSON" column="RPERSON" type="string"></property>
<property name="OA_DAILY_RWAY" column="RWAY" type="string"></property>
<property name="OA_DAILY_GAIYAO" column="GAIYAO" type="string"></property>
<property name="OA_DAILY_XIANGXI" type="text">
<column name="XIANGXI" sql-type="clob"></column>
</property>
</class>

<class>标签中:
name="com.OA_System.hibernate.bean.OA_DAILY" 代表实体类路径
table="OA_DAILY" 代表数据库中的表
<id>标签是配置主件
<property>标签是配置各个字段
(<id><property>中:name 一般都是我们实体类的对象名,column 对应数据库字段,type 是对应的类型)

3. 怎么配置有 hbm.xml出来

在hibernate中,每个数据表对应的其实是一个实体类,每个实体类有一个对应的hbm.xml配置文件和你匹配,myeclipse中其实有个MyEclipseDatabaseExplorer视图,它提供了myeclipse与数据库直接连接的内置窗口,并且通过此窗口可以生成hibernate的mapping文件。
1.在项目上点击右键选择MyEclipse选项,为应用增加Hibernate特性.
2.在出现的配置窗口中,选中“Add Hibernate 2.1 libraries to
project?”,然后设定存放Hibernate库文件的目录为: /WEB-INF/lib
目录,默认会选择创建一个新的Hibernate配置文件hibernate.cfg.xml。
3.点击下一步,进入Hibernate数据库连接配置界面,在Connection
Profile选项中直接选择在MyEclipse Database
Explorer中配置的vipdata选项,然后就会自动生成其他的配置,可以选择“Copy JDBC Driver and add
to classpath”,这样就会将JDBC驱动拷贝到WEB-INF/lib目录中。:
4.点击下一步,来创建Hibernate的SessionFactory类,这是一个简单的集中管理Hibernate会话的工厂类,填写类的全名称。

4. nhibernate多个数据库hbm.xml,cfg.xml该怎么配置

1、MYSQL5 数据库
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="NHibernate.Test">
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
<property name="connection.connection_string">Server=192.168.0.2;Port=3306;Database=SampeDataBase;User ID=root;Password=root;CharSet=utf8</property>
<property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<property name="hbm2ddl.keywords">none</property>
<mapping assembly="XXXX.Infrastructure.Entities"/>
</session-factory>
</hibernate-configuration>

尤其要强调的是 <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
在数据表设计中如果采用了 bit 类型的字段,并且对应了业务类中类型为 bool 值,一定要如上设置下。

2、MSSQL 数据库
<?xml version="1.0" encoding="utf-8"?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory name="NHibernate.Test">
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">
Data Source=192.168.0.2,1433;Initial Catalog=SampeDataBase;
Integrated Security=False;User Id=sa;Password=;
</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="proxyfactory.factory_class"> NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<mapping assembly="XXXX.Infrastructure.Entities"/>
</session-factory>
</hibernate-configuration>

mssql 不同的版本有时需要修改下属性 dialect (方言)
上面是 ms sql 2005 的配置,在使用 sql 2000 时有方法会出错(比如分页)

ms sql 2000 的配置
<property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>

5. 类似于邮件的数据库表,hbm.xml 配置文件如何映射

session.createSQLQuery(sql) 这个写法,必须有一个实体类去实例化数据结果,然而还需要一个hbm.xml文件,,我只想返回我需要的组合字段,以一个Object[]形式就行了。。 而我的结果是几个表的数据字段。。createSQLQuery这种方法试过了,如果这个查询结果和我数据库的表一样,那么可以,。。

6. xxx.hbm.xml中的hbm是什么意思

hbm指的是hibernate的映射文件
映射文件也称映射文档,用于向Hibernate提供关于将对象持久化到关系数据库中的信息.
持久化对象的映射定义可全部存储在同一个映射文件中,也可将每个对象的映射定义存储在独立的文件中.后一种方法较好,因为将大量持久化类的映射定义存储在一个文件中比较麻烦,建议采用每个类一个文件的方法来组织映射文档.使用多个映射文件还有一个优点:如果将所有映射定义都存储到一个文件中,将难以调试和隔离特定类的映射定义错误.
映射文件的命名规则是,使用持久化类的类名,并使用扩展名hbm.xml.
映射文件需要在hibernate.cfg.xml中注册,最好与领域对象类放在同一目录中,这样修改起来很方便.

7. 使用SSH框架的Hibernate 配置的hbm.xml文件中连接oracle数据库

hbm.xml一般是配置持久化对象的,一张表对应一个hbm.xml文件。


oracle链接配置可以配置在

hibernate.cfg.xml中

<propertyname="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<propertyname="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property>
<propertyname="connection.username">test</property>
<propertyname="connection.password">test</property>

或者是将这些配置项放到配置文件中,由spring统一来读取。