我一直在努力去理解Hibernate的inverse属性,而这似乎只是那些概念上困难的事情之一。 我得到的要点是当你有一个使用一对多映射的具有Child对象集合的父实体(例如Parent)时,在映射上设置inverse = true会告诉Hibernate“对方)有责任自行更新以维护其表中的外键引用。 这样做似乎有两个好处,当涉及到代码中的集合添加孩子,然后保存父级(级联所有设置): 你保存一个不必要的命中数据库 (因为没有反设置,Hibernate认为它有两个地方更新FK关系),并根据官方文件: 如果关联的列被声明为NOT NULL,那么NHibernate在创build或更新关联时可能会导致约束违规。 为了防止这个问题,你必须使用与被标记为inverse =“true”的许多有价值的结尾(集合或行李)的双向关联。 这一切似乎到目前为止是有道理的。 我不明白的是:什么时候你不想在一对多的关系上使用inverse = true?
给定一个这样的字典: my_map = { 'a': 1, 'b':2 } 如何能反转这张地图得到: inv_map = { 1: 'a', 2: 'b' } 编者注: map变成了my_map以避免与内置函数map冲突。 下面有些意见可能会受到影响。