标签: orphaned-objects

阻止Hibernate删除孤立实体,同时将具有实体关联的实体与orphanRemoval设置为true

以一对多关系(国家/地区->)为例.

国家(反面):

@OneToMany(mappedBy = "country", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private List<StateTable> stateTableList=new ArrayList<StateTable>(0);
Run Code Online (Sandbox Code Playgroud)

StateTable(拥有方):

@JoinColumn(name = "country_id", referencedColumnName = "country_id")
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.DETACH})
private Country country;
Run Code Online (Sandbox Code Playgroud)

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

public StateTable update(StateTable stateTable) {

    // Getting the original state entity from the database.
    StateTable oldState = entityManager.find(StateTable.class, stateTable.getStateId());
    // Get hold of the original country (with countryId = 67, for example).
    Country oldCountry = oldState.getCountry();
    // Getting …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa orphaned-objects orphan

22
推荐指数
1
解决办法
3777
查看次数

自动过期孤立订阅(Azure ServiceBus Messaging SubscriptionClient)

我想到的场景是:Service Bus用于实例到实例的通信,因此Subscription对每个服务实例都是唯一的.最终结果是,如果实例未正常关闭,则其订阅不会被删除.

当服务实例"死"并重新启动时,订阅的先前内容是不相关的并且可以被丢弃.

那么,有没有办法为Service Bus订阅设置"生存时间"或模拟类似的东西,而不必诉诸一些自定义的孤立检测机制?

servicebus azure publish-subscribe orphaned-objects

9
推荐指数
2
解决办法
1523
查看次数

将子级从父级迁移到另一个父级时,将orphanRemoval设置为true

重要提示:如果您正在阅读本文,请考虑深入讨论这篇文章.


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

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

反面(部门):

@OneToMany(mappedBy = "department", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private List<Employee> employeeList = new ArrayList<Employee>(0);
Run Code Online (Sandbox Code Playgroud)

拥有方(员工):

@JoinColumn(name = "department_id", referencedColumnName = "department_id")
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.DETACH})
private Department department;
Run Code Online (Sandbox Code Playgroud)

合并如下所示的操作/操作(其中department是客户端提供的分离实体),

Employee employee = entityManager.find(Employee.class, 1L);
Department newDepartment = entityManager.contains(department) ? department : entityManager.merge(department);

if (!newDepartment.equals(employee.getDepartment())) {
    employee.getDepartment().getEmployeeList().remove(employee);
    // Since orphanRemoval is set to true, 
    // this should cause a …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa eclipselink orphaned-objects orphan

6
推荐指数
1
解决办法
1481
查看次数

Git 孤立分支“该分支提前 1 次提交,在 master 后面提交 n 次”

我使用以下命令在本地存储库上创建一个孤立分支,然后将其推送到 Github 上的远程:

git checkout --orphan worker
git rm -rf .
git commit --allow-empty -m "Initial orphan commit"
git push origin worker
Run Code Online (Sandbox Code Playgroud)

我在 GitHub 上的工作分支上收到“此分支提前 1 次提交,在 master 后面提交 n 次”消息。

这里的想法是创建一个空的、不相关的 分支,没有历史记录,与所有其他分支和提交完全断开连接,并且不会相对于主分支进行跟踪。

git github orphaned-objects

6
推荐指数
1
解决办法
364
查看次数

如何Rails:如果项目有任务,则不应删除它:我该如何解决这个问题?

嗨,我有一个项目,每个项目都有任务.任务属于项目.在删除项目之前,我想检查是否有相关任务.如果有任务我不想删除项目.如果没有关联任务,则应删除该项目.你能帮我解释一下代码吗?我错过了什么?

class Project < ActiveRecord::Base  
  before_destroy :check_tasks    

  def check_tasks 
    if Project.find(params[:id]).tasks  
      flash[:notice] = 'This project has tasks.'
      redirect_to :action => 'list_projects'    
    end 
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails orphaned-objects

5
推荐指数
1
解决办法
224
查看次数

在Django中有效删除孤立的m2m对象/标签

我有两个模型 - 照片和标签 - 通过ManyToManyField连接.

class Photo(models.Model):
    tags = models.ManyToManyField(Tag)

class Tag(models.Model):
    lang = models.CharField(max_length=2)
    name_es = models.CharField(max_length=40)
    name_en = models.CharField(max_length=40)
Run Code Online (Sandbox Code Playgroud)

每隔一段时间,我们就会获得孤立的标签,任何照片都不会引用这些标签.是否有一种删除这些标签的有效方法?我知道这个答案: Django:删除M2M孤儿条目?

我们的解决方案目前看起来像这样:

for tag in Tag.objects.all():
    if not tag.photo_set.select_related(): tag.delete()
Run Code Online (Sandbox Code Playgroud)

然而,随着数据库,该脚本的运行变得令人不安的高:-P有正从标签表中的所有标签ID的列表的有效方式,然后从所有的标签ID的列表许多一对多表创建一个交集列表?

django many-to-many orphaned-objects orphan

5
推荐指数
1
解决办法
989
查看次数

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

我有一个git存储库,我已经做了一些测试,我想将它包含在主存储库中.

我想将它添加为孤立分支,因为我想保留它,但我不想让我的测试项目膨胀master分支.

如何将git存储库导入为孤立的brach?我想保留我的提交.

编辑以显示它不是重复:我实际上并不关心它是孤立的还是类似的东西,我只是想有办法合并2个存储库.给出的答案是正确的,并解决了我的问题.

git orphaned-objects

5
推荐指数
1
解决办法
1212
查看次数

如何为 GitHub 中的孤立提交分配标签?

我有一个由另一个人生成的孤立提交,我在 GitHub GUI 中看到了它。由于路径上没有包含此提交的分支/标签,因此无法通过克隆存储库来访问此提交。假设提交的作者已经删除了他的本地存储库,我希望直接在 GitHub 中为这个提交分配一个分支/标签。

只需使用我可以使用的直接链接即可看到此提交,因为它的 git hash 是已知的。但是,在Insights>Network中看不到提交。

如何从 GitHub 中的此提交页面为提交分配标签?是否可以直接从此页面创建新分支?有什么其他方法可以将此提交返回到服务中?

git github orphaned-objects

5
推荐指数
1
解决办法
149
查看次数

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

我正在使用JPA 2.0,Hibernate 4.1.0.Final,Spring 3.1.1.RELEASE和Java 1.6.我有这个实体与另一个实体的一对多关系......

import javax.persistence.CascadeType;
...
@Entity
@Table(name = "classroom")
public class Classroom implements Serializable
{
    ...

    @OneToMany(mappedBy = "classroom", cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE})
    private Set<ClassroomUser> roster;
Run Code Online (Sandbox Code Playgroud)

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

classroom.setRoster(newRoster);
Run Code Online (Sandbox Code Playgroud)

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

谢谢, - 戴夫

spring hibernate jpa orphaned-objects

1
推荐指数
1
解决办法
3706
查看次数