Hibernate***.hbm.xml配置文件详解
2013-08-01 16:04
417 查看
1、formula:用来设置一个sql表达式。
2、
3、处理sql引用表示符:在SQL语法中,表示符是指用于为数据库表、视图、字段或索引等名字的字符串,常规表示符不包括空格,也不包含特殊字符,因此无需使用引用符号。如果数据库表名或列名包含特殊字符,可以使用引用表示符。(英文输入状态下感叹号左边那个)用这个反引号,也可以命名和数据库关键字一样的字段名,例如:`order`,`desc`。
4、设置类的包名:如果在一个映射文件中包含多个类,并且这些类位于同一个包中,可以设置<hibernate-mapping>元素的package属性,避免为每个类提供完整的类名。
5、Hibernate使用OID(Object ID)来建立内存中的对象和数据库中记录的对应关系。对象的OID和数据库的表的主键对应。在domain.hbm.xml <id>标签中的属性即OID
6、主键生成策略:
①.increment:带走加1。hibernate先查询数据库id的最大值,从数据库取回再加1,容易出现并发问题。
适用范围:
*由于不依赖与底层数据库,适合所有的数据库系统。
*单个进程访问同一个数据库的场合,集群环境下不推荐适用。
*OID必须为long、int或short类型,如果把OID定义为byte类型,抛异常。
②.Identity:由底层数据库生成标识符.需要把字段定义成自增型。oracle不支持,因为oracle没有自增机制。
③.sequence:适用范围:底层数据库要支持序列。Oracle DB2 SAP等。OID必须为long、int或shot类型。
④.hilo:加一带走。
使用范围:
*该机制不依赖于地层数据库,因此适用于所有的数据库系统。
*OID必须为long、int、short类型,如果为byte类型的话,会抛出异常。
⑤.native:根据底层数据库对自动生成表示符的能力来选择identity、sequence、hilo
⑥.assigned:由java程序负责生成标识符。不能把setID()方法声明为Private的。尽量避免使用自然主键。自然主键就需要手动设值。
⑦.复合组件:
各个组成主键的字段
将各个组成主键的字段封装到一个类中
2、
3、处理sql引用表示符:在SQL语法中,表示符是指用于为数据库表、视图、字段或索引等名字的字符串,常规表示符不包括空格,也不包含特殊字符,因此无需使用引用符号。如果数据库表名或列名包含特殊字符,可以使用引用表示符。(英文输入状态下感叹号左边那个)用这个反引号,也可以命名和数据库关键字一样的字段名,例如:`order`,`desc`。
<property name=“description” column=“`CUSTOMER DESCRIPTION`” />
4、设置类的包名:如果在一个映射文件中包含多个类,并且这些类位于同一个包中,可以设置<hibernate-mapping>元素的package属性,避免为每个类提供完整的类名。
<hibernate-mapping package="com.xxc.domain"> <class name="Customer" table="customers" lazy="false"><!--这时,这里的name就不需要全路径了 -->
5、Hibernate使用OID(Object ID)来建立内存中的对象和数据库中记录的对应关系。对象的OID和数据库的表的主键对应。在domain.hbm.xml <id>标签中的属性即OID
6、主键生成策略:
①.increment:带走加1。hibernate先查询数据库id的最大值,从数据库取回再加1,容易出现并发问题。
适用范围:
*由于不依赖与底层数据库,适合所有的数据库系统。
*单个进程访问同一个数据库的场合,集群环境下不推荐适用。
*OID必须为long、int或short类型,如果把OID定义为byte类型,抛异常。
②.Identity:由底层数据库生成标识符.需要把字段定义成自增型。oracle不支持,因为oracle没有自增机制。
③.sequence:适用范围:底层数据库要支持序列。Oracle DB2 SAP等。OID必须为long、int或shot类型。
<id name=“id” type=“long” column=“ID”> <generator class=“sequence”> <param name=“sequence”>tester_id_seq</param> </generator> </id>
④.hilo:加一带走。
使用范围:
*该机制不依赖于地层数据库,因此适用于所有的数据库系统。
*OID必须为long、int、short类型,如果为byte类型的话,会抛出异常。
⑤.native:根据底层数据库对自动生成表示符的能力来选择identity、sequence、hilo
⑥.assigned:由java程序负责生成标识符。不能把setID()方法声明为Private的。尽量避免使用自然主键。自然主键就需要手动设值。
⑦.复合组件:
各个组成主键的字段
将各个组成主键的字段封装到一个类中
相关文章推荐
- Hibernate中配置C3P0数据源步骤及hbm.xml 文件详解
- hibernate的增长策略和hbm.xml文件配置详解
- hibernate映射文件 xx.hbm.xml配置映射元素详解--Hibernate映射类型
- Hibernate --- xxx.hbm.xml映射配置文件详解
- hibernate的.hbm.xml文件文件配置属性详解
- hibernate映射文件XXX.hbm.xml配置映射元素详解--对象标识符(OID)
- hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型
- hibernate.cfg.xml注解和*.hbm.xml配置文件详解
- hibernate映射文件??.hbm.xml配置映射元素详解
- hibernate实体配置文件 *.hbm.xml
- hibernate之xxx.hbm.xml配置详解
- hibernate配置文件 *.hbm.xml长时间加载不出来原因
- 关于hibernate的hibernate.cfg.xml配置文件包含 .hbm.xml配置文件的路径写法
- intellij配置hibernate自动生成hbm.xml文件
- hibernate的配置文件*hbm.xml的class标签的 schema 是什么意思有什么作用?
- hibernate.cfg.xml配置文件详解
- Hibernate主配置文件 hibernate.hbm.xml
- hibernate中写配置文件xxx.hbm.xml时那个成员变量的类型type如何写的问题
- 【Hibernate】Hibernate.cfg.xml配置文件详解
- Hibernate.cfg.xml配置文件结构详解