我正嘗試用angularjs和springmvc來構建一個應用程序。我有兩個類省和Comunidad。 :如何使用jackson模塊休眠序列化延遲加載的實體?
@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
...............
}
在我的控制器:
@RequestMapping("/userlist.json")
public @ResponseBody List<Provincia> getUserList(){
return this.provinciaService.loadAllProvincias();
}
我得到這個錯誤: /* 沒有找到串行類org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer和
沒有屬性發現創建BeanSerializer(以避免異常,禁用
SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS))(通過引用鏈: java.util.ArrayList [0] - > admin.domain.Provincia [「refC omunidad 「] - < admin.domain.Comunidad $$ EnhancerByCGLIB $$ 68ea9e6f [」 hibernateLazyInitializer「]) */
我有關於傑克遜模塊休眠github上讀的是解決
問題一個不錯的選擇: https://github.com/FasterXML/jackson-module-hibernate。 我包括在我的pom.xml
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hibernate4</artifactId>
<version>2.2.0</version>
</dependency>
傑克遜模塊休眠的依賴,但我不知道在哪裏配置「Hibernate4Module.Feature.FORCE_LAZY_LOADING,真」。 我嘗試按照該頁面的指示http://blog.pastelstudios.com/2012/03/12/spring-3-1-hibernate-4-jackson-module-hibernate/
但我得到相同的錯誤。
有沒有人可以用簡單的例子來幫助我?
傑克遜2.x中,使用 'ObjectMapper MAPPER =新ObjectMapper();'' MAPPER.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS,FALSE);' 這就是說,無論這些答案似乎幫助我類似的問題。 – Marcus