7

Ho un problema interessante. Il mio modello di dati è la seguente:Serializzazione dei dati di primavera di Embeddable con ManyToOne Riferimenti

Tipo A:

@Entity 
@JsonIgnoreProperties(ignoreUnknown = true) 
public class A { 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 
} 

Tipo B:

@Entity 
@JsonIgnoreProperties(ignoreUnknown = true) 
public class B { 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 
} 

Embeddable C:

@Embeddable 
@JsonIgnoreProperties(ignoreUnknown = true) 
public class C { 
    @ManyToOne 
    private A a; 
    @ManyToOne 
    private B b; 
} 

E Tipo D:

@Entity 
@JsonIgnoreProperties(ignoreUnknown = true) 
public class D { 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 

    @ElementCollection 
    @OrderColumn(name = "ORDER_INDEX") 
    @CollectionTable(
    name = "d_c_join", 
    joinColumns = @JoinColumn(name = "d_id") 
) 
    private List<C> listOfC; 
} 

Deserializzazione (e memorizzazione) le entità funzionano correttamente. Quando un oggetto della classe D è serializzato il seguente è il risultato:

{ 
    "_embedded" : { 
    "ds" : [ { 
     "id" : 1, 
     "listOfC" : [ { }, { } ], 
     "_links" : { 
     "self" : { 
      "href" : "http://localhost:8000/ds/1" 
     } 
     } 
    } ] 
    } 
} 

Come posso configurare primavera-Data serializzare A e B in C (meglio sarebbe per loro URI).

+0

penso che basta contrassegnare i campi C come eagerload, giusto? –

+0

nessun dato di molla cercherà nei campi e nei riferimenti di un'entità che non dipendono dal fatto che sia carico o pigro caricato – Benny

+0

Ho riscontrato un problema simile. Relazioni negli oggetti @Embeddable non serializzati. Sei mai riuscito a risolvere questo problema? –

risposta