0
我花了時間來實現的,是什麼問題:彈簧安置servcie prodouces JSON而不是用分貝映射對象
我有一個彈簧安置服務和GET-方法返回一個用戶在JSON-格式。 數據來自我的數據庫over sessionFactory。
經過調試後發現,問題與我的雙向關係 - 多對多關係有關。
所以調用
User user = (User) sessionFactory.getCurrentSession().load(User.class, userId);
返回將user.getCity()。getSupplier()運行到com.sun.jdi.InvocationException一個用戶對象。所以傑克遜顯然無法序列化。 但是是什麼導致這種異常?
@Entity
@Table(name = "T_CITY")
public class City implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private long id;
@OneToMany(mappedBy = "city", cascade=CascadeType.ALL)
private Set<User> user;
@OneToMany(mappedBy = "city", cascade=CascadeType.ALL)
private Set<Supplier> supplier;
用戶:
@Entity
@Table(name = "T_USER")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
public User() {
}
@Id
private long id;
@ManyToOne
private City city;
供應商:
@Entity
@Table(name = "T_SUPPLIER")
public class Supplier implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private long id;
@ManyToOne
private City city;
如果你把你的日誌來調試應該看看會發生什麼服務器端。你在使用ORM框架嗎? getUser方法是否返回一個懶加載的實體? –
請顯示用戶級別的源代碼 – shazin
你有沒有在城市用戶的反向映射? – gipinani