我正在使用springcloud(microservices)并使用jwttoken实现安全性。在我的安全应用程序中,我有user、role和userrole这样的实体。所以每个请求首先到达zool服务,它调用身份验证服务,身份验证服务创建/返回jwt令牌。另外,我还有另一个需要jwt令牌的microservicerest应用程序(questions app)。在“问题”应用程序中,我有一个包含authord字段的问题实体。
@Entity
@Table(name="QUESTION")
public class Question {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID", updatable = false, nullable = false)
private long id;
@Column(name = "AUTHOR")
private long authorId;
@Column(name = "TITLE")
private String title;
}
现在,我还不清楚,设置authord long type是正确的,还是应该在questions app中创建user、role、userrole实体(只是从auth项目中简单复制),并设置“author”列
@OneToOne
@JoinColumn(name="AUTHOR")
private User user;
我知道在第一个选项中,当我需要在网页上显示问题和用户名时,我应该调用2个服务(一个来自问题应用(fetch question),另一个来自auth服务(按作者id获取用户信息),我想知道什么是最佳做法?
1条答案
按热度按时间0yg35tkg1#
如果您拥有所有这些微服务的公共数据库,并且需要基于问题id的用户相关信息。
然后,您可以直接执行
@OneToOne
对用户。从你的问题来看,最好选择2个选项。