Tôi đang cố gắng xây dựng một ứng dụng với angularjs và springmvc.I có hai lớp tỉnh và Comunidad. :Làm thế nào để tuần tự hóa các thực thể được nạp lười biếng với mô-đun jackson hibernate?
@Entity(name="Provincia")
@Table(name="T_PROVINCIA")
public class Provincia implements Serializable{
private String idProvincia;
private String nombre;
private Comunidad refComunidad;
public Provincia() {
}
@Id
@TableGenerator(name="provinciaGen",
table="T_GENERATOR",
pkColumnName="ID_GENERATOR",
pkColumnValue="ID_PROVINCIA",
valueColumnName="ID_VALUE")
@GeneratedValue(generator="provinciaGen",strategy=GenerationType.TABLE)
@Column(name="ID_PROVINCIA")
public String getIdProvincia() {
return idProvincia;
}
@Column(name="NOMBRE")
public String getNombre() {
return nombre;
}
@ManyToOne(targetEntity=Comunidad.class, fetch=FetchType.LAZY)
@JoinColumn(name="ID_COMUNIDAD")
public Comunidad getRefComunidad() {
return refComunidad;
}
setters
.....
.....
}
@Entity(name="Comunidad")
@Table(name="T_COMUNIDAD")
public class Comunidad implements Serializable{
@Id
@TableGenerator(name="comunidadGen",
table="T_GENERATOR",
pkColumnName="ID_GENERATOR",
pkColumnValue="ID_COMUNIDAD",
valueColumnName="ID_VALUE")
@GeneratedValue(generator="comunidadGen",strategy=GenerationType.TABLE)
@Column(name="ID_COMUNIDAD")
private String idComunidad;
@Column(name="NOMBRE")
private String nombre;
@Column(name="SHORTNAME")
private String shortName;
public Comunidad() {
}
getters and setters
...............
}
Trong điều khiển của tôi:
@RequestMapping("/userlist.json")
public @ResponseBody List<Provincia> getUserList(){
return this.provinciaService.loadAllProvincias();
}
Và tôi nhận được rằng lỗi: /* Không serializer tìm thấy cho lớp org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer và
không có tài sản được phát hiện để tạo BeanSerializer (để tránh ngoại lệ, hãy vô hiệu hóa
SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS)) (thông qua chuỗi tham chiếu: java.util.ArrayList [0] -> admin.domain.Provincia ["refC omunidad "] - < admin.domain.Comunidad $$ $$ EnhancerByCGLIB 68ea9e6f [" hibernateLazyInitializer "]) */
Tôi đã đọc trên github về jackson mô-đun ngủ đông là một lựa chọn tốt để giải quyết vấn đề
: https://github.com/FasterXML/jackson-module-hibernate. tôi bao gồm các phụ thuộc mô-đun ngủ đông jackson trong pom.xml của tôi
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hibernate4</artifactId>
<version>2.2.0</version>
</dependency>
Nhưng tôi không biết được nơi cấu hình "Hibernate4Module.Feature.FORCE_LAZY_LOADING, true". Tôi cố gắng làm theo các chỉ dẫn từ trang đó http://blog.pastelstudios.com/2012/03/12/spring-3-1-hibernate-4-jackson-module-hibernate/
nhưng tôi gặp lỗi tương tự.
Có ai đó có thể giúp tôi bằng một ví dụ dễ dàng không?
Đối Jackson 2.x, sử dụng 'ObjectMapper MAPPER = new ObjectMapper();' 'MAPPER.configure (SerializationFeature.FAIL_ON_EMPTY_BEANS, false);' Điều đó nói rằng, cả hai câu trả lời này dường như không giúp được vấn đề tương tự của tôi. – Marcus