У меня есть приложение Angular с формгруппой для чего-то вроде экрана регистрации.Там все мои входные данные работают так:
<div id="form-group" class="left">
<input
[ngClass]="{ 'erros': groupForm.get('name').errors?.required && form.submitted }"
id="fullname"
formControlName="name"
class="form-control"
placeholder="Name">
</div>
Он работает безупречно, но есть определенное поле, которое никогда не отправляет никаких данных (поле такое же, как это, но это выборка:
<div id="form-group" class="left">
<select formControlName="entity">
<option id = "zero" value="" disabled selected>Entity</option>
<option id = "_1" value=0 >CT</option>
<option id = "_2" value=1 >HP</option>
<option id = "_3" value=2 >CM</option>
</select>
</div>
).Самое смешное, что когда я console.log () это из группы, вся моя информация там (даже сущность!).Но это не достигает базы данных (postgres, кстати).API - это Spring + Hibernate, и он имеет модель, ресурс и репозиторий для каждой таблицы в БД, их структура выглядит следующим образом:
Модель:
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "id", unique = true, nullable = false)
private Integer id;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "entity")
private Entity entity;
public GerProspect() {
super();
}
Репозиторий:
public interface ProspectRepository extends JpaRepository<Prospect, Integer>{}
Ресурс:
@CrossOrigin("${origem-permitida}")
@RestController
public class ProspectResource {
@Autowired
private ProspectRepository ProspectRepository;
@GetMapping("/Prospect")
public List<Prospect> ListProspect(){
return ProspectRepository.findAll();
}
@GetMapping("/Prospect/{ProspectId}")
public Prospect editProspect(@PathVariable Integer ProspectId) {
return ProspectRepository.findById(ProspectId).get();
}
@PostMapping("/Prospect")
public Prospect addProspect(@RequestBody @Valid Prospect T) {
return ProspectRepository.save(T);
}
@DeleteMapping("/Prospect")
public Prospect remProspect(@RequestBody @Valid Prospect T) {
ProspectRepository.delete(T);
return ProspectRepository.findAll().stream().findAny().get();
}
}
Я не являюсь автором этого API, но мне нужнов любом случаеВся моя информацияв форме formGroup является правильным и не нулевым, но только поле Entity никогда не заполняется.Я должен также сказать, что это конкретное поле является внешним ключом с той же структурой и этим списком <>:
@OneToMany(fetch = FetchType.LAZY, mappedBy = "ConfigEntity", targetEntity= Prospect.class)
List<Prospect> Prospects = new ArrayList<Prospect>();
Я действительно не знаю почему, но это поле всегда равно нулю в БД.Что я здесь не так делаю?