相关疑难解决方法(0)

如何在Jackson中禁用fail_on_empty_beans?

使用jackson 2.1,如何禁用fail_on_empty beans错误消息似乎要我禁用?

我认为这只是世界上最简单的事情,但是现在已经很晚了,我还没能找到一个简单的教程或任何特别明显的教程api.SerializationFactory?为什么他们会让它变得如此不直观,然后使错误信息看起来如此简单?

虽然我喜欢的错误讯息,我的意思是,它比NPE更好.

我假设有一种方法可以使用注释来实现这一点 - 但我并不热衷于使用它们来完成我正在做的简单工作!

java jackson

86
推荐指数
8
解决办法
11万
查看次数

没有为类org.hibernate.proxy.pojo.javassist.Javassist找到序列化程序?

我的工作SpringMVC,Hibernate&JSON但我得到这个错误.

HTTP Status 500 - Could not write JSON: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.SerializationFeature.FAIL_ON_EMPTY_BEANS) ) 
Run Code Online (Sandbox Code Playgroud)

请检查下面的实体

    @Entity
@Table(name="USERS")
public class User {

    @Id
    @GeneratedValue
    @Column(name="USER_ID")
    private Integer userId;

    @Column(name="USER_FIRST_NAME")
    private String firstName;

    @Column(name="USER_LAST_NAME")
    private String lastName;


    @Column(name="USER_MIDDLE_NAME")
    private String middleName;

    @Column(name="USER_EMAIL_ID")
    private String emailId;

    @Column(name="USER_PHONE_NO")
    private Integer phoneNo;

    @Column(name="USER_PASSWORD")
    private String password;

    @Column(name="USER_CONF_PASSWORD")
    private String  confPassword;

    @Transient
    private String token;

    @Column(name="USER_CREATED_ON") …
Run Code Online (Sandbox Code Playgroud)

spring json hibernate

85
推荐指数
7
解决办法
10万
查看次数

避免对未获取的惰性对象进行Jackson序列化

我有一个简单的控制器返回一个User对象,这个用户的属性坐标有hibernate属性FetchType.LAZY.

当我尝试获取此用户时,我总是必须加载所有坐标以获取用户对象,否则当Jackson尝试序列化时,用户会抛出异常:

com.fasterxml.jackson.databind.JsonMappingException:无法初始化代理 - 没有会话

这是因为杰克逊试图获取这个未被攻击的对象.这是对象:

public class User{

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
    @JsonManagedReference("user-coordinate")
    private List<Coordinate> coordinates;
}

public class Coordinate {

    @ManyToOne
    @JoinColumn(name = "user_id", nullable = false)
    @JsonBackReference("user-coordinate")
    private User user;
}
Run Code Online (Sandbox Code Playgroud)

和控制器:

@RequestMapping(value = "/user/{username}", method=RequestMethod.GET)
public @ResponseBody User getUser(@PathVariable String username) {

    User user = userService.getUser(username);

    return user;

}
Run Code Online (Sandbox Code Playgroud)

有办法告诉杰克逊不要序列化未被攻击的物体吗?我一直在寻找3年前发布的其他答案实现jackson-hibernate-module.但可能通过新的杰克逊功能可以实现.

我的版本是:

  • 春天3.2.5
  • Hibernate 4.1.7
  • 杰克逊2.2

提前致谢.

java serialization spring hibernate jackson

75
推荐指数
7
解决办法
7万
查看次数

JSON 映射异常:找不到该类的序列化程序

我正在将 Spring MVC 与 Restful Web 服务(JACKSON)一起使用。我有一个名为 p_project 的表,它有 3 列。id、region_id、名称。region_id 引用区域表。我的实体如代码所示。

@Entity
@XmlRootElement(name="project")
@Table(name = "P_PROJECT")
@NamedQueries( {

    @NamedQuery(name = "Project.findAll", 
                query = "select p from Project p order by lower(p.name)", 
                hints = { 
                         @QueryHint(name = "org.hibernate.cacheable", value = "true") 
                        }
                ) 
})
public class Project extends AbstractSimpleNameEntity<Integer> implements Serializable
{

private Region region;

private String name;

public Project()
{
    super();
}

public Project(Integer id)
{
    super(id);
}

public Project(String name)
{
    super(name);
}

@Id
@Column(name = "ID")
@GeneratedValue(generator …
Run Code Online (Sandbox Code Playgroud)

json hibernate spring-mvc jackson

5
推荐指数
0
解决办法
1万
查看次数

标签 统计

hibernate ×3

jackson ×3

java ×2

json ×2

spring ×2

serialization ×1

spring-mvc ×1