<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Generated 2016-6-25 14:50:51 by Hibernate Tools 3.4.0.CR1 --> <hibernate-mapping> <!-- table:表名。 dynamic-update:动态更新,默认为false。执行update时生成的sql只会更改需要改的字段, 而不是全部字段一起更改 dynamic-insert:动态插入,默认为false。当插入数据时生成的insert语句,只生成不为null的数据。 --> <class name="com.shuoeasy.test.News" table="NEWS" dynamic-update="true" dynamic-insert="true"> <id name="id" type="int"> <column name="ID" /> <!-- 指定主键的生成方式, increment:先查询数据库中最大的id,然后+1写入数据库。(开发时可以这么用)。 identity:使用数据库的自增方式,例如mysql/sqlserver。 sequence:使用数据库的序列,例如oracle、db2。 hilo:采用hign/low算法,这种算法不依赖数据库,可以满足各种数据库, 会在数据库生成一个hibernate_unique_xxx表。 native:根据数据库的情况来选择用identity/sequence/hilo。可以满足各种数据库 --> <generator class="native"></generator> <!-- oracle使用序列的写法 <generator class="sequence" > <param name="sequence">my_se</param> </generator> --> </id> <!-- unique="true":唯一约束,好像mysql不起作用 update="false":字段不允许修改 index="new_index":这个字段加上索引,如果两个字段都有相同的名字就是联合索引 length="1":字段长度 scale="2":小数点位数,对double、float有效 --> <property name="title" type="java.lang.String" index="new_index" length="1" > <column name="TITLE" /> </property> <property name="content" type="java.lang.String" index="new_index"> <column name="CONTENT" /> </property> </class> </hibernate-mapping>