Tag: cascade

Hibernate级联

Hibernate逆向工程生成的所有内容都是这样的 @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name =“column_id”) public Itinerary getColumnId(){ 返回this.columnId; } 我想要这个场景:当会话刷新时,首先保存所有构造的子节点,然后根据FK约束保存父对象。 当然,孩子需要先保存(自动!),因为有FK约束。 你告诉我:有一个CASCADE选项,但如何在JPA中使用它? 我尝试像这样添加级联: @ManyToOne(fetch = FetchType.LAZY,cascade = CascadeType.PERSIST) @JoinColumn(name =“column_id”) public Itinerary getColumnId(){ 返回this.columnId; } 对我不起作用。 先告诉我:应该用这个指令注释什么以及如何使它工作。 我得到“无法添加或更新子行:外键约束失败”exception。 事实上,我不想手工坚持一切! 只构造一个对象并坚持下去! 注释什么,使用什么指令以及如何使用?

在我的Play应用程序中使用Ebean / JPA,如何删除OneToOne关系中的对象?

我有以下课程: import play.db.ebean.Model; import javax.persistence.*; @Entity public class A extends Model { @Id private int id; /* Other irrelevant properties */ @OneToOne(cascade = CascadeType.ALL, optional = true) private B b; } import play.db.ebean.Model; import javax.persistence.*; @Entity public class B extends Model { @Id private int id; /* Other irrelevant properties */ @OneToOne(mappedBy = “b”) private […]

Hibernate OneToOne延迟加载和级联

这就是我想要做的。 创建一个与子项具有OneToOne关系的父项 父级必须使用延迟加载来获取子级 如果父母被移除,那么孩子也是如此 如果孩子被移除,父母不应受到影响 级联更新和删除必须转换为DDL class级家长 @OneToOne(mappedBy = “parent”, cascade = CascadeType.ALL) public Child getChild() class级孩子 @OneToOne(fetch = FetchType.LAZY) @OnDelete(action = OnDeleteAction.CASCADE) @JoinColumn(name=”parent_id”) public Parent getParent() 我有点1,3,4完全工作, 第5点部分工作,仍然需要解决如何翻译更新部分indo DDL。 第2点是这里的一个大问题,我目前的解决方案是父母不会懒惰加载孩子。 然而,孩子确实懒洋洋地加载父母,但是反转注释会使级联失败( 第3,4和5点 )。 我现在很困惑,希望我错过了一些明显的东西,所以任何帮助都会非常感激。 编辑: Adeel Ansari要求的代码 ‘fetch = FetchType.LAZY’已添加到类Parent,否则与上面相同。 IParentDAO parentDAO = DAOFactory.getFactory().getParentDAO(); parentDAO.beginTransaction(); //findByPrimaryKey uses ‘org.hibernate.Session.get(Class clazz, Serializable id)’ parentDAO.findByPrimaryKey(1l); parentDAO.commitTransaction(); 生成的hibernate查询,一个获取Parent和一个获取Child: […]

JPA + Hibernate:如何定义具有ON DELETE CASCADE的约束

我只是想知道是否有这样一种方法可以构建我的MySQL表格 ALTER TABLE `USERINFO` ADD CONSTRAINT `FK_USER_ID` FOREIGN KEY (`USERID`) REFERENCES `USERACCOUNT` (`USERID`) ON DELETE CASCADE ON UPDATE CASCADE; 但是,当hibernate ++ jpa开始构建我的表时,我只在我的DDL中得到了这个“ ” ALTER TABLE `USERINFO` ADD CONSTRAINT `FK_USER_ID` FOREIGN KEY (`USERID`) REFERENCES `USERACCOUNT` (`USERID`); 在我的课程中,我有这些注释设置, // UserAcc.java @Entity @Table(name = “USERACC”) public class UserAcc implements Serializable { private static final long serialVersionUID = -5527566248002296042L; […]

Hibernate删除级联

我有一个实体[项目],其中包含其他实体[问题]的集合。 我已经使用“all-delete-orphan”的级联属性映射了该关系。 在我的数据库中,关系映射到问题表上的project_id(FK)字段。 此字段不能为空,因为我不想要没有项目的问题。 当我执行session.delete(项目)时,它抛出一个exception,说project_id不能为null,但是如果我删除对该字段的非空约束,则删除效果很好。 谁知道怎么解决这个问题?

如何在hibernate中的多对一映射上定义反级联删除

我有两个类A和B.许多B可以与单个A关联,因此从B到A的多对一关系。我已经映射了这样的关系: A没有映射到B.记住这一点,我们打算在删除关联的A时删除B. 如果我可以在B中的多对一关联中定义inverse =“true”,那么这可能是可能的,但是hibernate不允许这样做。 有人能帮忙吗? 我们不想为此写任何东西。

已分离的实体传递给持久性错误

提交表单时收到此错误: org.hibernate.PersistentObjectException:传递给persist的分离实体:com.project.pmet.model.Account; 嵌套exception是javax.persistence.PersistenceException:org.hibernate.PersistentObjectException:传递给persist的分离实体:com.project.pmet.model.Account 这是我的实体: 帐户: @Entity @DynamicInsert @DynamicUpdate public class Account { @Id @GeneratedValue private Integer id; @Column(nullable = false) private String login; @Column(nullable = false) private String password; @Column(nullable = false) private String email; @ManyToOne @JoinColumn(name = “team_id”) private Team team; @OneToMany(cascade = CascadeType.ALL, mappedBy = “owner”) private List ownedTeams; … 球队: @Entity @DynamicInsert […]

Hibernate:如何在注释中使用级联?

如何在hibernate中使用级联和注释? 但我怀疑: 我有这种情况: public class Package(){ @OneToOne(cascade=CascadeType.PERSIST) private Product product; @OneToOne(cascade=CascadeType.PERSIST) private User user; .. } 当我尝试session.save(package) ,会发生错误。 我不想保存产品和包装。 我只想初始化并将它们设置到我的包对象中。 那可能吗?