[hibernate]6 映射详解和class.docxVIP

  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文档。上传文档
查看更多
[hibernate]6 映射详解和class

A、基础概念A.1、catalog和schema数据库领域经常会碰到catalog和schema这两个概念。首先我们从字面上去理解。Catalog有目录的意思,而schema是模式的意思。在SQL环境中,它们都属于抽象的概念,可以理解为容器或命名空间,它们主要是用于解决命名冲突的问题。(如,同一个数据库中不允许有相同的表名,但是若它们属于不同的catalog或schema就可以)。从概念上来讲一个数据库系统包含多个catalog,而每个catalog有包含多个schema。而不同的数据库对catalog和schema的支持也不尽相同。A、class详解classname=ClassNametable=tableNamediscriminator-value=discriminator_valuemutable=true|falseschema=ownercatalog=catalogproxy=ProxyInterfacedynamic-update=true|falsedynamic-insert=true|falseselect-before-update=true|falsepolymorphism=implicit|explicitwhere=arbitrary sql where conditionpersister=PersisterClassbatch-size=Noptimistic-lock=none|version|dirty|alllazy=true|false entity-name=EntityName check=arbitrary sql check condition rowid=rowid subselect=SQL expression abstract=true|false node=element-name/name:(可选)持久化类(或者接口)的 Java 全限定名。如果这个属性不存在,Hibernate将假定这是一个非 POJO 的实体映射。table:(可选—默认是类的非全限定名)对应的数据库表名。discriminator-value:(可选—默认和类名一样)一个用于区分不同的子类的值,在多态行为时使用。它可以接受的值包括 null 和 not null。mutable:(可选,默认值为 true)表明该类的实例是可变的或者不可变的。schema:(可选)覆盖在根 hibernate-mapping 元素中指定的 schema 名字。catalog:(可选)覆盖在根 hibernate-mapping 元素中指定的 catalog 名字。proxy:(可选)指定一个接口,在延迟装载时作为代理使用。你可以在这里使用该类自己的名字。dynamic-update:(可选,默认为 false)指定用于 UPDATE 的 SQL 将会在运行时动态生成,并且只更新那些改变过的字段。dynamic-insert:(可选,默认为 false)指定用于 INSERT 的 SQL 将会在运行时动态生成,并且只包含那些非空值字段。select-before-update:(可选,默认为 false)指定 Hibernate 除非确定对象真正被修改了(如果该值为 true),否则不会执行 SQL UPDATE 操作。在特定场合(实际上,它只在一个瞬时对象(transient object)关联到一个新的 session 中时执行的 update() 中生效),这说明 Hibernate 会在 UPDATE 之前执行一次额外的 SQL SELECT 操作来决定是否确实需要执行 UPDATE。polymorphism:(多态)(可选,默认值为 implicit (隐式))界定是隐式还是显式的使用多态查询(这只在 Hibernate 的具体表继承策略中用到)。where:(可选)指定一个附加的 SQL WHERE 条件,在抓取这个类的对象时会一直增加这个条件。persister:(可选)指定一个定制的 ClassPersister。batch-size:(可选,默认是 1)指定一个用于根据标识符(identifier)抓取实例时使用的batch size(批次抓取数量)。optimistic-lock:(乐观锁定)(可选,默认是 version):决定乐观锁定的策略。lazy:(可选)通过设置 lazy=false,所有的延迟加载(Lazy fetching)功能将被全部禁用(disabled)。立即加载:表示Hibernate在从数据库中取得数据组装好一个对象后,会立即再从数据库取得数据组装此对象所关联的对象。延迟加载:表示Hibernate在从数据库中取得数据组装好一个对象后,不会立即再从数据库中取得数据

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档