在 Java 中使用 Hibernate 进行 CRUD 时,我们如何从初始 Resteasy 请求访问 Header 值

问题描述

请我需要 Java 专家的帮助。

我想存储用户如何使用 Hibernate 的 @PreUpdate 修改数据库表字段中的记录。

用户名由反向代理在标头字段 x-remote-user 中设置。我可以按如下所示访问它

@GET
@Path("/getuser")
public String get( @HeaderParam("x-remote-user") String userName) {
  return userName;
}

有没有办法在我的 JPA 实体 bean 中注入 @HeaderParam?我应该查找反射吗?

这不起作用:

@Entity
@Table(name = "t_companies")
public class TBusiness extends PanacheEntityBase {
  @Column(name = "company_name",nullable = true)
  public String companyName;
  @Column(name = "updated_by",nullable = true)
  public String updatedBy;
  
  @PreUpdate
  public void preUpdate(@HeaderParam("x-remote-user") String userName) {
    updatedBy = userName;
  }
}

让我重新表述我的问题

我正在使用 Panache 数据 REST CRUD 生成

有没有办法访问包含 @RequestScoped 类中的用户名的标头值

然后在 @PreUpdate 上的 JPA 实体中使用此值?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)