问题标签 [orphaned-objects]

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.

0 投票
2 回答
820 浏览

sql-server - SQL Server - 恢复不同工作组中的数据库 - 修复 Windows 用户

有谁知道如何修复 SQL 数据库中孤立的本地 Windows 用户?

我正在尝试将数据库备份和还原到另一台机器。两台机器都不在域中 - 它们位于不同的工作组中。几个 Windows 用户在源计算机上的数据库中具有权限,为了便于重新连接目标计算机中的用户,我在那里设置了具有相同用户名(但密码不同)的用户。

不幸的是,这不起作用。数据库用户被还原为[user name]以及[source machine name]\[user name],这会阻止目标计算机上的帐户链接。有谁知道如何将这些用户重新连接到正确的 Windows 帐户?我做了通常的谷歌搜索,但可用的信息通常用于连接孤立的 SQL 用户,而不是连接孤立的本地 Windows 用户。

0 投票
0 回答
359 浏览

hibernate - hibernate 4.3.0 @OneToMany orphanRemoval=true 留下孤儿

我发现很多关于 orphanRemoval=true 选项的讨论仍然会留下孤儿,但是我似乎没有为我的问题找到正确的答案。

我有一个 Connector 类,它在 UniqueProperty 类的 List 上具有 OneToMany 关系

UniqueProperty 有这个定义:

我使用 PostgreSQL 数据库。当我创建一个新的连接器并添加一个 UniqueProperty (name, valueA) 时,它会在 connector_uniqueproperty 表中创建一行,并在 uniqueproperty 表中创建一行。当我创建一个与之前相同 ID 的新连接器实例(新的休眠会话)并且这次不添加唯一属性时,session.saveOrUpdate(connector) 调用确实从 connector_uniqueproperty 中删除了相关行,但将相关行保留在uniqueproperty 表(现在是孤儿)。

关于为什么会发生这种情况的任何建议?

0 投票
1 回答
5212 浏览

spring - 使用 JPA 2.0 和 @OneToMany 删除孤立实体的解决方法是什么?

我正在使用 JPA 2.0、Hibernate 4.1.0.Final、Spring 3.1.1.RELEASE 和 Java 1.6。我有这个实体与另一个实体存在一对多关系……</p>

但是,当我使用一组不同的 ClassroomUser 对象更新我的实体时

并保存实体,所有之前的 ClassroomUser 对象都将保留。在从数据库中删除所有孤立记录的同时更新我的​​实体的正确/最短方法是什么?

谢谢, - 戴夫

0 投票
1 回答
291 浏览

php - PHP 程序员如何确定孤立的 PHP 文件或图像?

如果 C/C++ 程序员想要整理大型 C 或 C++ 项目,那么他可以删除一些他认为可能是孤立的代码文件(*.c、*.h、*.cpp、...)。当他启动编译器并且它运行没有错误时,他是对的。当编译器由于需要删除的文件而引发错误时,程序员就可以确定大型项目确实需要特定的代码文件。

我们这里有一个大型 Web 项目,它是用 PHP 编写的。它由许多 PHP 文件和图像文件组成。问题是大型基于 PHP 的 Web 项目没有编译器。

这里的一个人在 10 或 15 年前读过一篇文章。本文展示了一种解决方案,可以为 PHP 项目获得与 C/C++ 项目的 C/C++ 程序员使用他的编译器所获得的结果相同的结果。他只记得这个解决方案存在的事实,但他丢失了那篇文章,他忘记了详细的解决方案。

有谁知道这样的解决方案是否存在?如果有,叫什么名字?有网址吗?搜索引擎等的关键词?

0 投票
0 回答
2020 浏览

ios - 目标 C,更改根视图控制器时应用程序崩溃。没有委托的孤儿(错误!)

我在我的 iOS 应用程序中实现了一个下拉菜单,它调用函数在不同的故事板之间导航。该菜单中的每个元素都使用不同的故事板名称调用 AppDelegate 类中的以下函数:

问题是被调用的函数不一致地使应用程序崩溃。它适用于某些屏幕,而不适用于其他屏幕。更糟糕的是,它有时可以在通常崩溃的屏幕上运行。

有两条错误消息被转储到控制台,它们是(为了便于阅读,我添加了换行符):

真正让我感到困惑的是最后一行,“内部错误......永远不会发生。”

我很好奇是否有其他人遇到过这个错误,以及他们是如何解决的。

  • 这是初始化变量 currentView 的问题,还是与 AppDelegate 的 window 变量有关?

  • 这真的是故事板约束的问题吗?如果是这样,我可以/应该在单个屏幕上放置的约束数量是否有限制?


编辑:

我发现这个错误实际上只是在离开一个特定的故事板时才引起的。屏幕上的约束引发了错误。所以我在 changeController 中添加了一些代码:以编程方式从每个子视图中删除约束,然后从父视图中删除每个子视图。

当有问题的 UIViewController 中的约束被清除并重新创建时,问题最终得到解决。

感谢您的所有帮助和建议。

0 投票
0 回答
616 浏览

ios - ios - 在coredata中“外部”存储二进制数据会导致孤立文件

我不确定这是否是一个错误,所以正在寻求建议......

(xcode 5.1.1 上的 iOS 7.1.2)

我的应用程序在 coredata 中存储了许多大数据图像。二进制图像在实体中将其属性设置为“允许外部存储”,因此我看到一个文件 (guid) 出现在我的应用程序的 _EXTERNAL_DATA 子文件夹中。

在此应用程序的生命周期中,文件会定期更改,因此我会覆盖现有图像并保存上下文。

问题是,我看到我的图像文件(guid)的孤立副本出现,因为创建了新的,但旧的没有被删除。

这可以复制如下...

创建一个带有“测试”按钮的实用程序应用程序,它利用 coredata,创建一个简单的实体......

在此处输入图像描述

在此处输入图像描述

在 viewDidLoad 中创建初始实体,存储对它的引用......

然后在视图上按钮的动作处理程序中,只需更改图像...

-(IBAction)onTestImageButton:(id)sender { int randNum = rand() % 4 + 1;

在这里,我有四个大的飞机 jpg,每个大小都略有不同。(如果它们的大小相同,则问题不会出现)

运行应用程序并多次按下“测试”按钮。很快,文件的几个版本出现在_EXTERNAL_DATA

在此处输入图像描述

我只希望有一个版本。图像现在是孤立的,如果父实体通过级联删除规则删除该图像,则会留下文件,这会占用宝贵的空间!

这是一个错误,还是我做错了什么?

谢谢

0 投票
1 回答
2329 浏览

hibernate - 将子项从父项迁移到另一个父项时将 orphanRemoval 设置为 true

重要通知:如果您正在阅读这篇文章,请考虑查看这篇文章以进行深入讨论。


这是一种非常常见的做法/情况/要求,父母的孩子可能会迁移到另一位父母。如果orphanRemoval设置为true这种关系的反面,会发生什么?

作为一个例子,任何简单的一对多关系如下。

反面(部门):

拥有方(员工):

在合并如下操作/动作时(department客户端提供的分离实体在哪里),

当然,添加和删除员工可能会更好地使用关联实体中的防御性链接(关系)管理方法来完成/处理。

部门实例由客户提供。它是一个分离的实体。它可以是相同或不同的部门,具体取决于相关客户执行的管理操作。因此,如果客户提供的部门实例与当前持有的部门实例不同,Employee则应先将其从当前部门employeeList持有的员工列表中删除,然后再添加它将新供应的员工名单列入。Employeedepartment

作为一种猜测,当从员工的部门当前引用的员工列表中删除实例时,Employee应该无意中从数据库中删除了该行Employee- 旧部门(在触发此操作之前),即在将子项从其父项迁移到另一个父母,孩子在被另一个父母收养之前需要从其本地父母中删除,并且该子行应该被无意中从数据库中删除(orphanRemoval = true)。

但是,数据库表中的员工行与更新的列值保持不变。除语句外,不生成任何 DML 语句UPDATE

我是否可以考虑,以这种方式将孩子从他们的父母迁移到另一个父母,不会无意中从数据库表中删除这些孩子,因为他们不应该这样做?

当前使用具有 JPA 2.1 的 EclipseLink 2.6.0。


编辑:

如果一个Employee实体只是从反面的列表中删除(因此,在删除后没有添加到列表中 - 没有迁移到另一个父级,而是刚刚删除),那么它的相应行也照常从数据库中删除(orphanRemoval = true)但是该行只是更新,当一个Employee实体(子)从其本机父级列表中删除后被添加到另一个父级列表中(实体的迁移)。

提供者似乎足够聪明,可以检测到孩子从父母迁移到另一个父母,作为更新。

在 Hibernate (4.3.6 final) 和 EclipseLink (2.6.0) 上可以看到相同的行为,但如果它是提供程序特定的行为(不可移植),则不能依赖它。我在 JPA 规范中找不到有关此行为的任何信息。

0 投票
2 回答
5111 浏览

hibernate - 防止 Hibernate 在合并实体关联的实体时删除孤立实体,而 orphanRemoval 设置为 true

举一个非常简单的一对多关系(国家/地区->)示例。

国家(反面):

StateTable(拥有方):

尝试更新StateTable活动数据库事务(JTA 或本地资源)中提供的(分离的)实体的方法:

需要注意的orphanRemoval是,设置为trueStateTable实体由有兴趣将实体关联Country( countryId = 67)更改StateTable为其他内容 ( )的客户端应用程序提供countryId = 68(因此在 JPA 的反面,将子实体从其父实体(集合)迁移到另一个父实体(集合)orphanRemoval=true反过来会反对)。

Hibernate 提供程序发出一个DELETEDML 语句,导致对应于StateTable实体的行从基础数据库表中删除。

尽管orphanRemoval设置为true,但我希望 Hibernate 发出一个常规的UPDATEDML 语句,导致 的效果orphanRemoval完全暂停,因为迁移了关系链接(而不是简单地删除)。

EclipseLink 正是完成了这项工作。它在给定的场景中发出一条语句(与set toUPDATE具有相同的关系)。orphanRemovaltrue

哪个符合规范?在这种情况下,除了从反面删除之外,是否可以让 Hibernate 发出UPDATE声明?orphanRemoval


这只是试图使双方的双向关系更加一致。

如有必要,上述代码段中使用的防御性链接管理方法在实体中add()定义如下。remove()Country


更新 :

UPDATE如果给定的代码按以下方式修改,Hibernate 只能发出预期的DML 语句。

在较新版本的代码中观察以下两行。

如果最后一行不存在或被EntityManager#getReference()替换EntityManager#find(),则DELETE意外发出 DML 语句。

那么,这里发生了什么?特别是,我强调便携性。不跨不同的 JPA 提供者移植这种基本功能会严重破坏 ORM 框架的使用。

EntityManager#getReference()我了解和之间的基本区别EntityManager#find()

0 投票
1 回答
1828 浏览

git - 从现有存储库创建孤立分支?

我有一个 git 存储库,我已经对其进行了一些测试,我想将它包含在主存储库中。

我想将此添加为孤立分支,因为我想保留它,但我不想用我的测试项目使主分支膨胀。

如何将 git 存储库作为孤立的分支导入?我想保留我的承诺。

编辑以显示它不是重复的:我实际上并不关心它被孤立或类似的东西,我只是想有一种方法来合并 2 个存储库。给定的答案是正确的,并解决了我的问题。

0 投票
2 回答
605 浏览

symfony - Symfony2 和 Doctrine:一对多与连接表孤儿删除

我有一个实体“AnnualReport”,它接受实体集合“AnnualReportStaffing”。年度报告有四个不同的人员配备部分,因此有四个这样的集合(ArrayCollection)。由于我不能使用传统的一对多关系,因此我必须使用带联接表的一对多,如此所述。

因此,例如,我的 Staffing 集合之一在我的 AnnualReport 类中定义为:

现在,当需要删除AnnualReport 时,Doctrine 会删除报表和连接表内的Staffing 之间的关系,但不会删除关联的AnnualReportStaffing 实体。我尝试添加 cascade={"remove"},但我收到外键违规,因为它试图在删除连接表关联之前删除 Staffing 实体。

删除孤立的 Staffing 实体的最佳方法是什么?显然 orphanRemoval=true 不是答案。