inverse reverse converse有何区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了inverse reverse converse有何区别相关的知识,希望对你有一定的参考价值。

参考技术A inverse、reverse 和 converse 在作形容词用时,区别主要在于语境范畴。
inverse、reverse 和 converse 在作形容词用时是同义词,都表达“反向的”。所不同的是,reverse 用于日常生活的交流和书写表达,inverse 则多用于科技、教育类文献等正式文体表达中。较之前两个单词,converse 很少用于生活语言表达。即使是书面语,其使用频率也大不如 inverse 和 reverse。从构词上说,inverse 和 reverse 源自拉丁文,在同一个词干 -verse 前分别用了不同的前缀。拉丁文词干 -verse 的词义是“转向”,而前缀 in- 和 re- 分别表达“朝内”和“回转”,都表达“相反的方向”。converse 源自法语,属外来词,而且只用作前置定语修饰名词,不能用做表语(即不单独作为形容词使用)。
参考技术B 1、Inverse:侧重数量关系、所处位置上的相反。可译为:(在数或量上呈)反向变化的,上下颠倒的,倒置的。
例如a+b=k,其中a,b是变量,k是常数,很明显a越大b就越小,ab=k的情形也一样(后者在数学上叫反比例函数关系)。
常见短语:in inverse proportion to与...成反比;inverse function反函数
2、Reverse:侧重顺序、方向上的相反。可译为:逆向的,逆序的,背面的。
例如:(作动词)倒车reverse the car、倒序reverse theorder,和(做形容词)纸张的背面the reverse side都是用该词。
常见短语:reverse engineering逆向工程,reverseevaluation逆运算
3、Converse:侧重事物性质上的相反。可译为:(性质)相反的,对立的。
例如:物质和反物质,命题和反命题,安装和反安装(卸载)、侦察和反侦察等等,是指事物的性质、状态跟目前完全相反、对立的情况下所表现出的特征。
常见短语:a converseexample反例,the converse is equally
true反之亦然,conversely=on thecontrary反之,相反地。
请特别注意:这3个词做形容词的时候分别对应到3个动词:
inverse-->invert;
reverse-->revert;
converse-->convert;
有时候分析它们的动词词义也能帮助我们认识它们的不同。本回答被提问者采纳

Hibernate - lazy, fetch, inverse, cascade

Inverse是hibernate双向关系中的基本概念。
inverse的真正作用就是指定由哪一方来维护之间的关联关系。
当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录!

inverse=true    ->    由另一方维护关联关系
inverse=false    ->    由当前方维护关联关系

父亲中的关系映射 
 {set name="children" lazy="true" inverse="true"}
      {key column="parent_id"/}
      {one-to-many class="test.Child"/}
{/set}


儿子中关系映射 
{many-to-one name="parent" column="parent_id" not-null="true"/}

【1】Inverse:负责控制关系,默认为false,也就是关系的两端都能控制,但这样会造成一些问题,更新的时候会因为两端都控制关系,于是重复更新。一般来说有一端要设为true。


【2】Cascade:负责控制关联对象的级联操作,包括更新、删除等,也就是说对一个对象进行更新、删除时,其它对象也受影响,比如我删除一个对象,那么跟它是多对一关系的对象也全部被删除。
举例说明区别:删除“一”那一端一个对象O的时候,如果“多”的那一端的Inverse设为true,则把“多”的那一端所有与O相关联的对象外键清空;如果“多”的那一端的Cascade设为Delete,则把“多”的那一端所有与O相关联的对象全部删除。


【3】Fetch:Hibernate抓取策略
1) fetch="select" 会另外发出一条语句查询集合
2) 设置 fetch="join" 采用外连接集合的 lazy 失效
3) 这只 fetch="subselect" 另外发出一条 select 语句抓取前面查询到的所有的实体对象的关联集合 fetch 只对 HQL 查询产生影响其他的则不会

 

【4】lazy 参数值常见有 false 和 true,Hibernate3 映射文件中默认lazy = true ;
在映射文件中,不同的组合会使用不同的查询:
1、lazy=true fetch = select ,使用延迟策略,开始只查询出主对象,关联对象不会查询,只有当用到的时候才会发出sql语句去查询 ;
2、lazy=false fetch = select ,没有用延迟策略,同时查询出主对象和关联对象,产生1+n条sql.
3、lazy=true或lazy=false fetch = join,延迟都不会作用,因为采用的是外连接查询,同时把主对象和关联对象都查询出来了.

 


























以上是关于inverse reverse converse有何区别的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate中的inverse

hibernate inverse属性的作用

Inverse+cascade属性

逆序对 inversion

Hibernate - lazy, fetch, inverse, cascade

hibernate中 inverse的用法(转载)