0
Good night, you guys! I have 2 classes: Services and Order. Services contain name and value/time. Request contains attributes: valueBrut, valueLike, percentualTime , user and a list of services.
made a relation Many to Many generating a 3° requested table servicos;
I’m doing based on this exercise:
The system must have a page to register the Services (service name and time value for sale); The system must have a page to register the Service Request, where it must be informed: (s) service(s) to be marketed(s); number of hours of each service; the professional who will be allocated to execute this Service Request; The % sales tax that will be added to the final order amount. When saving the Order, display in a dialog box showing the total order value and the % profit of that order for the company.
the question is, how do I add more fields in the requested table?
Example: object I imagine to save is similar to something like this:
{
valorBruto: 50,
valorLiquido: 40,
percentualImposto: 10,
usuario: "teste",
imposto: 10,
servicos: [{
idServico: 1,
qtdHora: 40
}]
}
The problem is that when I try to save the request, it tries to save the requested servic_relationship that has the qtde_time attribute and this null and error occurs.
Follows the code of the classes.
Request
@Data
@Entity
@Table(name = "pedido")
public class Pedido {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_pedido")
private Long idPedido;
@Column(name = "valor_total_bruto", nullable = false)
private double valorTotalBruto;
@Column(name = "valor_total_liquido", nullable = false)
private double valorTotalLiquido;
@Column(name = "perc_imposto", nullable = false)
private double percentualImposto;
@Column(name = "usuario", length = 100, nullable = false)
private String usuario;
@ManyToMany
@JoinTable(name = "pedido_servico", joinColumns = { @JoinColumn(name = "id_pedido") },
inverseJoinColumns = {@JoinColumn(name = "id_servico") })
private List<Servico> servicos;
}
Service
@Data
@Entity
@Table(name = "servico")
public class Servico {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_servico")
private long idServico;
@Column(name = "nome_servico", length = 100, nullable = false)
private String nomeServico;
@Column(name = "valor_hora", nullable = false)
private double valorHora;
}
Beggar
@Data
@Entity
@Table(name = "pedido_servico")
public class PedidoServico {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_pedido_servico")
private long idPedidoServico;
@Column(name = "qtd_hora", nullable = false)
private int qtdHora;
@Column(name = "id_servico", nullable = false)
private long idServico;
}