- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有单向相关实体:
@Entity
public class Book {
private String isbn;
}
@Entity
private class Recommentation {
@ManyToOne(optional = false, fetch = FetchType.LAZY)
@JoinColumn(name = "book_id", nullable = false)
@OnDelete(action = OnDeleteAction.CASCADE)
private Book book;
}
以及以下测试:
@RunWith(SpringRunner.class)
@DataJpaTest
public class BookRepositoryTest {
@Autowired
private TestEntityManager testEntityManager;
@Autowired
private BookRepository bookRepository;
@Test
public void delete() {
// given
String isbn = "isbn-1";
Book book = new Book();
book.setIsbn(isbn);
testEntityManager.persist(book);
Recommendation recommendation = new Recommendation();
recommendation.setBook(book);
testEntityManager.persist(recommendation);
// when
bookRepository.deleteBookByIsbn(book.getIsbn());
// then
assertThat(testEntityManager.find(Book.class, book.getId())).isNull();
assertThat(testEntityManager.find(Recommendation.class, recommendation.getId())).isNull();
}
}
@OnDelete(action = OnDeleteAction.CASCADE)
当此代码不是从测试中调用但在测试中我得到异常,建议未被书删除。
我还尝试从为 hibernate 查询记录的 sql 中获取任何信息,但我看不到此测试的任何 delete
语句。
我不想对实体使用双向链接,只是想了解如何解决这个具体问题或以某种方式调试它。
最佳答案
@ManyToOne(optional = false, cascade = CascadeType.ALL)
@JoinColumn(name = "book_id", nullable = false)
private Book book;
编辑 1:
@ManyToOne(optional = false)
@JoinColumn(name = "book_id",
nullable = false,
foreignKey = @ForeignKey(
foreignKeyDefinition = "FOREIGN KEY (book_id) REFERENCES book(id) ON DELETE CASCADE"
)
)
private Book book;
如果您不想要双向映射并且您的模式是从您的实体创建的,则以下方法应该可以解决问题。
如果您从 SQL 创建模式,您也可以在脚本中创建这样的外键。
这种方法也期望只执行一个删除查询。
关于测试中的 Hibernate OnDelete 级联不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56583707/
我使用 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
我是一名优秀的程序员,十分优秀!