Hibernate 使用codehus jackson rest服务在glassfish jersy中休眠懒惰初始化器问题

Hibernate 使用codehus jackson rest服务在glassfish jersy中休眠懒惰初始化器问题,hibernate,glassfish,jersey-2.0,Hibernate,Glassfish,Jersey 2.0,我正在与codehus Jackson一起为json数据开发glashfish jersey rest服务。 但是我得到了Hibernate lazy初始化异常,因为我为所有子类添加了lazy=false。但它给出了无限递归错误。因此,我在反向映射属性上添加了JsonIgnore。但它无法检测。我的配置如下 <servlet> <servlet-name>Jersey REST Service</servlet-name> <servle

我正在与codehus Jackson一起为json数据开发glashfish jersey rest服务。 但是我得到了Hibernate lazy初始化异常,因为我为所有子类添加了lazy=false。但它给出了无限递归错误。因此,我在反向映射属性上添加了JsonIgnore。但它无法检测。我的配置如下

<servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.koderzlab.lawman;org.codehaus.jackson.jaxrs</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

虽然您的Hibernate问题可能不会因此得到解决,但看起来您正在为Jackson类扫描错误的包名

对于通常与Jersey 2.x一起使用的Jackson 2.x,您需要扫描包com.fasterxml.Jackson.jaxrs,而不是org.codehaus.Jackson.jaxrs

将web.xml中的部分更改为以下内容:

<init-param>
    <param-name>jersey.config.server.provider.packages</param-name>
    <param-value>com.koderzlab.lawman;com.fasterxml.jackson.jaxrs</param-value>
</init-param>
另见:


我刚刚添加了代码1.9.2 jars,现在它正在识别@JsonBack引用。但是在每个pojo类中,我们需要添加
@JsonIgnoreProperties{hibernateLazyInitializer,handler}

仅供参考,Jersey有一个使用codehaus Jackson的模块。在这种情况下,OP配置是正确的:-Hi@unwichtich感谢您的回复。实际上我已经试过了,但是没有用,com.koderzlab.lawman是我在src文件夹之后的基本包。那么也许你应该用异常stacktrace更新你的问题。Hi@unwichtich请找到我提到的问题的堆栈跟踪。请帮我解决这个问题
<init-param>
    <param-name>jersey.config.server.provider.packages</param-name>
    <param-value>com.koderzlab.lawman;com.fasterxml.jackson.jaxrs</param-value>
</init-param>