我遇到了以下问题。 我针对数据库编写了回归测试。最后,我会清理创建的实体。 除了删除一个实体外,一切都有效。
错误是:
View or function 'OrganizationUserView' is not updatable because the modification affects multiple base tables.
JPA-Annotation如下:
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "OrganizationUserView", joinColumns = {
@JoinColumn(name = "OrganizationID")},
inverseJoinColumns = {
@JoinColumn(name = "MemberID")}
)
private Set<Member> members = new HashSet<>();
之前已删除组织和成员对象。
有谁知道如何删除对象?
答案 0 :(得分:0)
目前,我已经使用了数据库触发器
CREATE TRIGGER IO_Trig_DEL
ON [dbo].[OrganizationUserView]
INSTEAD OF DELETE
AS BEGIN
SET NOCOUNT ON;
END
GO
答案 1 :(得分:0)
创建一个表示联接表的单独实体,该实体映射到视图,而不使用@JoinTable。
此处讨论(论坛已死,因此使用archive.org):https://web.archive.org/web/20170113182538/https://forum.hibernate.org/viewtopic.php?f=1&t=985505&sid=dc550e634938fa271b76ecf60119d189