Save entity rest using @oneToMany

2

I have the following entities generated by jHipster using java with oneToMany relationship:

Product

@Entity
@Table(name = "produto")
public class Produto implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@OneToMany(mappedBy = "produto")
@JsonIgnore
private Set<Imagem> imagems = new HashSet<>();

//demais campos
//gets e sets

Image

@Entity
@Table(name = "imagem")
public class Imagem implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@Lob
@Column(name = "bl_imagem")
private byte[] blImagem;

@Column(name = "bl_imagem_content_type")
private String blImagemContentType;

@ManyToOne
private Produto produto;

//gets e sets

Service rest

 @RequestMapping(value = "/produtos",
    method = RequestMethod.POST,
    produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public ResponseEntity<Produto> createProduto(@Valid @RequestBody Produto produto) throws URISyntaxException {
    log.debug("REST request to save Produto : {}", produto);
    if (produto.getId() != null) {
        return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert("produto", "idexists", "A new produto cannot already have an ID")).body(null);
    }
    Produto result = produtoService.save(produto);
    return ResponseEntity.created(new URI("/api/produtos/" + result.getId()))
        .headers(HeaderUtil.createEntityCreationAlert("produto", result.getId().toString()))
        .body(result);
}

My json on the frontend made angular js

Question:

The backend is saving the product in the product table, but does not save anything in the image table, how could I make this oneToMany relationship, where can one product have multiple images?

    
asked by anonymous 16.06.2016 / 16:20

1 answer

1

For the first problem, I just changed the property name in json from image to image to match the backend.

In case of saving the product id for each record in the image table, I put:

@JoinColumn(name = "produto_id")

Do the update in the id automatically.

    
16.06.2016 / 20:42