问题标签 [orphan]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 更新集合时休眠删除孤儿
我发现从 Hibernate 的集合中删除时没有删除孤立记录。我必须做一些简单的错误,(这是 Hibernate-101!),但我找不到它..
鉴于以下情况:
以及以下更新代码:
作者DAO片段:
以下测试失败:
总之,我发现:
- 虽然图书从作者的图书收藏中删除,但它仍然存在于数据库中
- 如果我检查
book.getAuthor().getBooks()
,该集合中不存在这本书
这种“感觉”就像我没有适当地刷新会话或强制更新 - 但我不确定我应该在哪里这样做。沿着这条脉络,其他可能会影响的点:
- 我在装饰有的 JUnit 测试中执行上述操作
@RunWith(SpringJUnit4ClassRunner.class)
- 我最初在一个用 装饰的更新例程中遇到了这个问题
@Transactional
,但是,我已经在一个普通的旧 JUnit 测试中重新创建了它。
任何建议将不胜感激!
编辑: 感谢所有的反馈。除了下面的评论,我已经添加@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
到父级,所以现在是:
我仍然找到相同的结果。我一定错过了一些简单的东西。
html - CSS Checker 工具发生了什么变化?
我以前用过它,当有人问起一个从样式表中去除未使用的 CSS 的工具时,我想起了它。
我回到链接,但它消失了,这是怎么回事?它是永远消失了还是有人知道备份?或者一个类似的工具,它仍然可以根据 HTML 检查你的 CSS 并去除孤立的 CSS。
谢谢。
链接(到损坏的站点以供参考)。
asp.net - 在 Web 服务器上跟踪旧的上传文件 - 你怎么知道哪些不再使用?
用户可以将文件上传到服务器,这些文件将永久有效地存储。
我想知道是否有人有跟踪孤儿文件的想法。我的一些想法涉及记录每次上传,但是这些文件通常在 html 中引用,这不容易跟踪。
文件可以处于未使用状态,但仍可被引用。我可以对这些进行完整的文本搜索,但这是相当蛮力的。
难道我就放弃,让他们变老吗?
sql - 修复孤立记录的 UPDATE 查询
我有一个 Access 数据库,它有两个由 PK/FK 相关的表。不幸的是,数据库表允许重复/冗余记录,并使数据库有点混乱。我试图找出一个可以解决问题的 SQL 语句。
为了更好地解释问题和目标,我创建了示例表作为参考: alt text http://img38.imageshack.us/img38/9243/514201074110am.png 你会注意到有两个表,一个学生表和一个 TestScore 表,其中 StudentID 是 PK/FK。
Student 表包含学生 John、Sally、Tommy 和 Suzy 的重复记录。换句话说,StudentID 为 1 和 5 的 John 是同一个人,Sally 2 和 6 是同一个人,依此类推。
TestScore 表将测试分数与学生相关联。
忽略 Student 表允许重复的方式/原因等 - 我要完成的目标是更新 TestScore 表,以便它用相应的启用 StudentID 替换已禁用的 StudentID。因此,所有 StudentID's = 1 (John) 将更新为 5;所有 StudentID's = 2 (Sally) 将更新为 6,依此类推。这是我正在拍摄的结果 TestScore 表(请注意,不再引用禁用的 StudentID 的 1-4): alt text http://img163.imageshack.us/img163/1954/514201091121am.png 你能想一想可以实现此目标的查询(与 MS Access 的 JET 引擎兼容)?或者,也许,您可以提供一些提示/观点,为我指明正确的方向。
谢谢。
ftp - 有没有办法在没有访问服务器的情况下找到孤立页面?
假设我正在我的服务器上测试测试版页面,并且懒得用密码保护我发布的页面。我将它们放在一些不起眼的命名子目录中。有没有办法让人们看到 beta 页面而不用猜测文件名或从 FTP 客户端查看目录?
这些都是孤立页面,无法从主页访问它们。
objective-c - Objective-C:如何实现 TextView 孤儿控件
我正在开发一个 iPad 应用程序,它可以简单地显示类似于 iBooks 的文本。
我想在每个屏幕上只显示完整的段落(即页面上没有孤儿/寡妇)。与 iBooks 类似,我希望允许用户更改字体和字体大小,并继续将段落中的所有行保持在一起。用户将能够向前和向后翻页(就像 iBooks 一样)。
我一直在研究这个,但找不到解决方案。我认为有人已经完成了这段代码,但看起来我必须弄清楚字体的磅值并计算 TextView 的大小,然后计算有多少个字符等等等等。
有没有人建议我可以从哪里开始这样做?
非常感谢!
java - Hibernate - 一对多关系和 orphanRemoval 级联
我有一个基本的一对多关系父/子,就像在 Hibernate 参考书的第 21 章中一样。
级联仅从子级到父级(仅保留级联,因为如果删除子级,我不想删除父级)。
当我将孩子添加到父母并保存孩子时,我有一个 TransientObjectException ...
但是在 saveOrUpdate 上,我有这个例外:
我真的不明白,因为拯救孩子应该通过级联拯救父母......有什么想法吗?
更新 1
这个问题似乎与“orphanRemoval”有关,因为如果我在父级上评论它:
有用!
它拯救了孩子,然后是父母。
但是当我从父级中删除一个孩子时,我真的需要通过级联删除孤儿。
更新 2
我创建了一个 JIRA 问题: http:
//opensource.atlassian.com/projects/hibernate/browse/HHH-5364
更新 3
似乎已修复 :-)
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2269
java - 即使在一对多关系(JPA/Hibernate)上使用 orphanRemoval=true 时,孤儿仍保留在数据库中
_
更新此 Set 时,现有的 activePolicyRules 将其 category_policy_id 在数据库中设置为 null 并插入新的。我想删除原始的。
我认为添加 orphanRemoval = true 可以做到这一点,但事实并非如此。我在这方面看到的其他问题似乎具有双向关系并将父级设置为 null 解决了它,但这不是双向关系。
有什么建议么?
使用休眠 3.5.3
编辑:仅当数据库中存在现有的 AbstractPolicyRule 时才会发生这种情况,我将其从列表中删除,然后再次保存类别。它的外键 category_policy_id 设置为 null 而不是被删除。
还尝试了一个连接表,因为 Hibernate 文档不鼓励以前的方式:
这有同样的问题。映射表中的行已删除,但 AbstractPolicyRule 仍包含已删除的项目。
nhibernate - 当在 M:N 关系上设置 all-delete-orphan 时,NHibernate 未检测到其他关联的问题
这是场景:
我有 3 个对象,分别称为 Person、VideoGame 和 Store。
一个人可以拥有多个视频游戏
一个 VideoGame 可以属于多个 Person
Store 和 VideoGames 之间存在相同的 M:N 关系
在数据库中,除了这些实体之外,唯一的就是两个简单的连接表 PersonsVideoGames 和 StoresVideoGames。
假设所有东西都有一个 Id 属性并且它们是唯一的。
商业规则:
- 如果视频游戏与任何内容(孤儿)无关,我不希望视频游戏出现在 VideoGames 表中
- 如果它与至少一个其他对象相关联,我确实希望它在表中
- 您不直接管理 VideoGames,而是由其他方(商店、人员)管理保存/删除视频游戏。
使用 NHibernate 映射可以做到这一点吗?从我的实际项目实施来看,它似乎不适用于基本的 Person <-> VideoGame 级别。
NHibernate 当前将删除 VideoGame,即使它仍然与其他人相关联(它不是真正的孤儿)。
我的映射看起来像:
Person 将 VideoGame 的 M:N 作为一组,并启用了级联样式 all-delete-orphan。
VideoGame 具有 M:N 的 Person 作为一组,并启用了延迟加载、反向和级联样式保存更新。
Person 的 VideoGames 属性没有公共设置器。它有这样的功能:
然后,每当我保存一个人时,我都会得到一个视频游戏列表(现有的或全新的),然后使用该 set 方法:
可以使用更友好的 ID(例如“ShortTitle”)来引用视频游戏。保存然后接受一个 IEnumerable(Of String) 像 "DA:O,BatmanAA,LBP2" 等,然后在数据库中找到匹配它的那个人的任何现有视频游戏,或者创建一个具有该短标题的新域对象 (假设只有 Id 和 ShortTitle 是唯一的属性)。
那么,有谁知道出了什么问题?当 NHibernate 从该集合中删除一个 VideoGame 时,它为什么没有检测到一个 VideoGame 已经与其他 Persons 相关联?
此外,假设我得到了这个工作,一旦我建立了更多的 M:N 关系(比如商店),这个场景甚至会工作吗?
css - 如何通过删除不匹配和/或不必要的 CSS 选择器来优化我的样式表
我继承了一个包含数千个选择器的大型样式表,并且我确信其中很多是不必要的,并且从未真正匹配网站上的元素。为了优化,我想删除那些孤立的选择器/规则。
是否有任何工具可以让我将 CSS 与整个网站进行比较,以确定哪些选择器是必需的,哪些不是?
该站点具有 AJAX 组件,因此编写一个 curl/wget 脚本来遍历该站点,然后遍历每个选择器和 grep 以进行匹配也不是特别可行(尽管这会很有趣......)
欢迎所有建议。
谢谢,JD