- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好我有以下两个实体
@Entity
public class DocumentCollection {
@Id
@GeneratedValue
private Long id;
@OneToMany(targetEntity=Document.class,mappedBy="documentCollection",cascade=javax.persistence.CascadeType.ALL)
@OnDelete(action = OnDeleteAction.CASCADE)
@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
private Set<Document> documents;
...
}
并且:
@Entity
public class Document {
@Id
@GeneratedValue
private Long id;
@ManyToOne
private DocumentCollection documentCollection;
...
}
当 DocumentCollection 被删除时,所有引用的文档也应该被删除。但我收到此错误:
Cannot delete or update a parent row: a foreign key constraint fails (`tms_db`.`document`, CONSTRAINT `FK3737353BEB85533C` FOREIGN KEY (`documentCollection_id`) REFERENCES `documentcollection` (`id`))
我还尝试将 @OnDelete 注释放入文档类中,但没有成功。那么我错过了什么?供您引用,我使用的是 Hibernate 3.6.0.Final。
更新:我进行了 mysql 架构转储,并注意到文档表架构中没有 ON DELETE CASCADE 语句。 Hibernate 只生成外键约束,这会导致上述错误。有人知道为什么 hibernate 不生成“ON DELETE CASCADE”语句吗?
希望有人能帮助我谢谢
最佳答案
@OnDelete
注解影响 Hibernate 生成数据库模式的方式。如果您的架构不是由 Hibernate 生成的,或者添加此注释后尚未更新,则它将无法正常工作。
如果您想通过@OnDelete(action = OnDeleteAction.CASCADE)使用手动创建的数据库架构
,您应该在架构中手动将外键约束定义为删除级联
.
关于java - Hibernate:OnDelete 注释问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045740/
我使用 Active Android在我的项目中。试图了解更多关于它的信息,特别是关于表项属性的信息 - 类似于 ForeignKeyAction。 如果发生删除操作,我希望我的模型只删除它自己,而不
我有两个相互抵消的云函数,如下所示: exports.onPostLiked = functions.database.ref('userpostlikescomments/{uid}/{pu
我有单向相关实体: @Entity public class Book { private String isbn; } @Entity private class Recommentatio
这是我在这个问题上的第三个问题。到目前为止,还没有不崩溃的解决方案。我想在带有切换的列表上滑动删除。我的(简化的)代码如下所示: struct Item: Identifiable { var
使用 EF4.1 是否有一个函数事件可以在我的 POCO 上重写,该事件在删除时将被调用?我使用包含文件引用的数据库将图像保存在文件系统上。当我从数据库中删除时,我也想删除匹配的文件。 最佳答案 您可
请有人告诉我如何在 Symfony 2 中设置 onDelete: SetNull ?这是示例: oneToOne: Company: targetEntity: Compan
你好我有以下两个实体 @Entity public class DocumentCollection { @Id @GeneratedValue private Long id; @O
我正在尝试为我在 Firebase 上的 Cloud Functions 使用 OnDelete 触发器。但是,当删除数据(channel_id 节点)时它不会触发。我现在的数据结构是这样的。 注意:
假设我们有表 A、B 和 C(以及相应的时间戳) Table ZZ id some_fieldZ Table YY id some_fieldY Table XX id b_id a_id some_
我在数据库中有三个表 Notes, Tags, NoteTagJoin 我正在使用 多对多 数据库与存储在 NoteTagJoin 表中的外键的关系现在我知道你可以为外键设置 onCascade de
我有两个模型之间的关联,定义如下: 对于联系人模型(在单独的文件中) classMethods: { associate: function (models){ Cont
Schema::table('posts', function (Blueprint $table) { $table->integer('user_id')->unsigned();
我有以下表格: @Entity( tableName = "users" ) class Users { @PrimaryKey(autoGenerate = true) va
所以我明白以下代码有效: struct ContentView: View { func removeRows(at offsets: IndexSet) { numbers.
在用户离开 React 页面之前会显示确认警报。如果他们回答"is",我想运行 onDelete()。如果它们也响应“否”,下面的代码将运行 onDelete()。 componentDidMount
我在 onDelete() firebase 云函数中得到空值。下面是我的代码 exports.jobSeekerToES=functions.database.ref('/Users/{userI
我对带有 @OneToMany 关系的注释 @OnDelete 存在问题。 public class Patent { @OneToMany @JoinCollumn(name = "
import org.hibernate.annotations.OnDelete; @OnDelete(action = org.hibernate.annotations.OnDeleteActi
我有一个看起来像这样的简单模型: public class ImageFile { [Key] [DatabaseGenerated(DatabaseGeneratedOption.I
我是一名优秀的程序员,十分优秀!