xxp-hibernate.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
xxp-hibernate.doc

hibernate 适用范围 不适合联机分析处理ONAP(所需要查询的不是一个对象, 而只是某一个字段), 适合联机事务处理OLTP 对于关系模型设计不合理的老系统 数据量巨大, 对性能要求高, hibernate也不能达到要求 最佳实践的一些经验 设计细粒度的持久类, 并使用component, 就是用对象做属性 标识符属性用 无意义id, 不涉及业务属性 为每一个类写一个映射文件 设立自然主键, 并把equal和hashcode覆盖掉 如果有包含某个数据库方言的sql语句, 就把这个语句放到配置文件里面, 可以有更好的可移植性 最好不要去管理连接 在性能瓶颈的地方考虑使用jdbc, 如果确实需要直接使用jdbc, 先打开一个Hibernate的Session, 然后获得connection 避免频繁的flushing方法, 不过尽量不要去管 运行时异常可以不捕获, 编译时异常是从Exception继承的, 必须捕获和处理 对于关联, 优先考虑lazy fetching, 若目标是可以被缓存的, 尤其是缓存命中率比较高的情况, 应该lazy=”false” 使用open Session in view 模式, 来避免再次抓取数据带来的问题, 多多对关联应该转化成 两个一对多指向中介表 应该双向关联, 而不是单向关联 如果想用sql, Session就不去创建query, 而是去创建SQLquery, 这时候返回的List里面是Object对象集 如果想直接让它返回一个对象的话, 可以再在后面加上一句addEntity 如果是调用配置文件里面的命名查询sql, 就用Session来getNamesQuery() 然后在调用的时候, 填进去 命名查询放在class里面, 在调用的时候就需要加包名 映射类的配置: 表级 class节点配到table name是类的名称 catalog或 schema, 是指明表的所有者 default-cascade是缺省级联方式 default-lazy缺省值为真 dynamic-update是动态更新, 是只更新对象被修改的属性到表中,(前提是对象处于持久态 select-before-update是为了不必要的触发了触发器 where 是每次从数据库取的时候, 会把这个条件加上 上面介绍的某些值可以覆盖掉总关联文件 字段级 name是属性名 type 是标识Hibernate类型的名字 column字段的名字 unsaved-value 一个特定的标识属性值, 用来标识该实例是刚刚创建, 尚未保存 id生成方式, 即id的字元素Generator increment是程序中自增长 identity是数据库中自增长 sequence是序列增加, oracle中常用 hilo是高低位算法, 给定一个表作为高位来源 seqhilo也是高低们算法, 不同的是给定一个序列来作为高位来源 uuid 网络唯一, 用了ip地址, 不需要访问数据库, 插入的效率高, 不过由于查找的时候是比较字符串, 所以效率有一定的影响 guid 在ms sql server中 或my sql中使用数据库生成GUID字符串 native会根据数据库的底层能力从identity, sequence, 或者hilo中选一个 assigned是由程序员来控制生成 select 是通过数据库触发器选择(极不常用) foreign是使用另一个相关联的对象的标识符, 由多列来构成主键 composite-id version 和 timestamp是实现乐观锁 update(如用户ID)和insert(某一列是通过其它几列计算出来的)是 是否更新和插入 formula是说明某一列是通过哪几列计算出来的 lazy 是懒加载 unique是建表上加的 not-null是不能为空 unique-key是在多列唯一的时候使用的 length是长度 index 如果经常按某一列去查询, 就应该加索引, 这样查询就会变得很快 component把子对象的一些元素与父类对应的表的一些字段映射起来, 然后组件可以定义他们自己的一些属性, 组件或集合 properties是把属性打成包 区别于property any定义了从多个表到一个类的关联, 这种类型的映射常常需要多于一个字段, 第一个字段持有被关联实体的类型, 其它字段持有标识符, meta-type属性使得应用程序能指定一个将数据库字段的值映射到持久化类的自定义属性, 这个持久化类包含有id-type指定的标识符属性, 必须指定从meta-type的值到类名的映射 类型映射 基本映射 integer, long等对应Integer Lo

文档评论(0)

zhiminwei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档