Java 如何在hibernate中将访问映射到实体?
我有一个表示资源的实体,并使用hibernate将其保存到数据库中。现在我有了用户,我需要另一个表来确定用户是否有权访问资源。用户未保存在数据库中Java 如何在hibernate中将访问映射到实体?,java,hibernate,Java,Hibernate,我有一个表示资源的实体,并使用hibernate将其保存到数据库中。现在我有了用户,我需要另一个表来确定用户是否有权访问资源。用户未保存在数据库中 在普通SQL中,我只需要第二个表,其中带有resourceid和userid的行表示用户有权访问资源。但是Hibernate似乎使这项任务变得非常复杂,我不知道这样做的好方法是什么。我不明白,用户没有保存在数据库中。“为什么?但这就像在SQL中一样。” import javax.persistence.*; @Entity @Table(name=
在普通SQL中,我只需要第二个表,其中带有resourceid和userid的行表示用户有权访问资源。但是Hibernate似乎使这项任务变得非常复杂,我不知道这样做的好方法是什么。我不明白,用户没有保存在数据库中。“为什么?但这就像在SQL中一样。”
import javax.persistence.*;
@Entity
@Table(name="UserResource")
public class UserResource {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@ManyToOne
private Resource resource;
@ManyToOne
private User user;
}
我不明白,用户没有保存在数据库里,为什么?但它就像SQL中的一样
import javax.persistence.*;
@Entity
@Table(name="UserResource")
public class UserResource {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@ManyToOne
private Resource resource;
@ManyToOne
private User user;
}
我使用keydove进行用户管理,因此它们仅由keydove保存。我有要测试权限的用户的id。但是没问题,我可以直接保存userid而不是对用户的引用,对吗?我将运行什么样的查询来获取用户有权访问的资源?您需要使用接口CrudePository公共接口UserToHouse Repository Extendes CrudePository{Set-findAllByHouse(int-house);UserToHouse-findById(int-id);Set-FindAllByser(int-user);UserToHouse-FindFirstBySerandHouse(int-user,int-house)}我使用keydepot进行用户管理,因此它们只由keydeport保存。我有要测试权限的用户的id。但是没问题,我可以直接保存userid而不是对用户的引用,对吗?我将运行什么样的查询来获取用户有权访问的资源?您需要使用接口CrudePository公共接口UserToHouse Repository Extendes CrudePository{Set-findAllByHouse(int-house);UserToHouse-findById(int-id);Set-FindAllByser(int-user);UserToHouse-FindFirstBySerandHouse(int-user,int-house); }