javaEE Hibernate, 实体规则, 主键生成策略

JavaBean实体类的属性类型不能使用基本类型,需要使用对应的包装类型(引用类型);这样就可以和数据库中的NULL值进行映射。

没有主键id的数据库表,Hibernate不会与实体类进行映射。



src/cn/xxx/domain/Customer.hbm.xml(Customer实体类与数据表的映射关系配置文件,主键生成策略):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cn.xxx.domain" >
	<class name="Customer" table="cst_customer" >
		<id name="cust_id"  >
			<!-- generator:主键生成策略.就是添加记录时,主键的生成规则.(7个)
					identity : 主键自增.由数据库来维护主键值.录入时不需要指定主键.(数据库自身维护主键)
					sequence: Oracle中的主键生成策略.(数据库自身维护主键)
					increment(了解): 主键自增.由hibernate来维护.每次插入前会先查询表中id最大值.+1作为新主键值.(线程不安全)			
					hilo(了解): 高低位算法.主键自增.由hibernate来维护.开发时不使用.(主键一般由数据库自身维护,不需要由hibernate来维护)
					native:hilo+sequence+identity 自动三选一策略.
					uuid: 产生随机字符串作为主键. 主键类型必须为string 类型.
					assigned:自然主键生成策略. hibernate不会管理主键值.由开发人员自己录入.
			 -->
			<generator class="native"></generator>
		</id>
		<property name="cust_name" column="cust_name" ></property>
		<property name="cust_source" column="cust_source" ></property>
		<property name="cust_industry" column="cust_industry" ></property>
		<property name="cust_level" column="cust_level" ></property>
		<property name="cust_linkman" column="cust_linkman" ></property>
		<property name="cust_phone" column="cust_phone" ></property>
		<property name="cust_mobile" column="cust_mobile" ></property>
	</class>
</hibernate-mapping>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值