首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试访问Hibernate实体时Wicket“未附加应用程序”

尝试访问Hibernate实体时Wicket“未附加应用程序”
EN

Stack Overflow用户
提问于 2012-04-10 23:54:18
回答 1查看 467关注 0票数 1

我刚刚开始开发一个使用Hibernate的现有Wicket应用程序。我正在使用JAX-RS向Hibernate数据(在同一个web应用程序中)添加一个RESTful接口。JAX-RS servlet根本不与Wicket通信-它们独立地创建Hibernate会话。

我有一个类User,它使用net.databinder.auth.data中的类被定义为Hibernate实体(也是可编组的

代码语言:javascript
复制
@Entity
@Table(name = "user")
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlRootElement
public class User extends AbstractEntity implements DataUser {

一切都很正常,直到我尝试将设置密码(BasicPassword是一种可嵌入的net.databinder.auth.data类型)添加到我的RESTful接口(直到现在,我忽略了password属性):

代码语言:javascript
复制
@XmlTransient
public void setPassword(BasicPassword password) {
  this.password = password;
}

@XmlElement
public void setPassword(String password) {
  setPassword(new BasicPassword(password));
}

突然,当Apache CXF-JAXRS + Jackson + JAXB尝试在HTTP PUT中对我传入的JSON用户对象进行ummarshall时,它调用user.setPassword("...")并得到以下错误:

代码语言:javascript
复制
WARN  - ApplicationExceptionMapper - WebApplicationException has been caught : There is no application attached to current thread "http-bio-8080"-exec-5 (through reference chain: com.example.entity.User["password"])

哇- Wicket是怎么来的?Apache CXF-JAXRS应该调用Jackson提供程序,该提供程序使用JAXB注释来解组我的传入用户规范,从而创建一个未绑定的Hibernate User对象,对吗?它尝试使用字符串设置密码,便利性方法将字符串转换为BasicPassword实例。据我所知,这一切都与Wicket无关。

为什么Wicket会牵扯进来呢?在这一点上,我不想也不需要Wicket -我只需要创建一个新的分离的Hibernate对象。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-11 00:07:47

BasicPassword需要访问Wicket应用程序的授权设置才能计算密码哈希。我想你也需要通过WicketFilter来传递这些请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10092122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档