基本映射标签和属性

  <script type="text/javascript">document.domain = "csdn.net";</script>

 hibernate基本映射

实体类---表
实体类中的普通属性---表字段

采用<class>标签映射成数据库表,通过<property>标签将普通属性映射成表字段
所谓普通属性指不包括自定义类、集合和数组

注意:如果实体类和实体类中的属性和sql中的关键字重复,必须采用table或column重新命名

实体类的设计原则:
 * 实现一个默认的(即无参数的)构造方法(constructor)
 * 提供一个标识属性(identifier property)(可选)
 * 使用非final的类 (可选)
 * 为持久化字段声明访问器(accessors) 

主键生成策略:
 uuid、native和assigned

 

hql: 查的是对象不是表。

 

id属性:name,type,long,这个long是用来限制长度的。比如从 对象的String到数据库的varcher默认为255,现在可以设为long=32

 

如果有两个机器配置了hibernate,那么主键生成策略中不宜用increment ,因为不适合集群环境 ,会有重复。比如你的机器有一个1,我的机器也会有一个1,那就重复了。

 

uuid:uuid的算法,hibernate生成的32位字符串

 

identity:适于mysql,sql server的自增生成方式生成主键

sequence:适于oracle

native:可以根据后台数据库的变化而变化。

 

如果主键是String ,那只能用uuid.

 

如果你的类叫group,那么不定义cloum时,数据库表的名字也叫group,是不行的。必须重定义,因为group是关键字

即注意:如果实体类和实体类中的属性和sql中的关键字重复,必须采用table或column重新命名

 

采用cascade属性是解决TransientObjectException异常的一种手段 

级联只对增加、删除、修改有关系,对查询没有影响

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值