如何通过这两个表加入users
和service
?
@JoinTable
会很完美。但在这种情况下该怎么办?
这可以在不为admins
和admin_to_service
创建单独的实体的情况下实现吗?
答案 0 :(得分:0)
您可以尝试创建一个视图以用作Join表。我不知道你的FK引用是什么,但是像:
create or replace view user_services_vw as
select
a.user_id,
ats.service_id
from
admins a
inner join
admin_to_services ats on ats.some_col. = a.some_col
然后,您可以将其建模为简单的@ManyToMany
。如果关系是只读的,这应该可以正常工作,但如果数据需要可更新,则可能会出现问题。
@Entity
public class User {
@ManyToMany
@JoinTable(name = "user_services_vw")
private Set<Service> services;
}