Ich habe zwei Modelle:
Erster Klasse:JSON Inhalt für POST-Anfrage @ManyToOne Beziehung in Java Frühling
import javax.persistence.*;
import java.util.Set;
@Entity
public class One {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
@OneToMany(mappedBy = "one")
private Set<Many> manySet;
//Constructor, Getter and Setter
}
Klasse Viele:
import javax.persistence.*;
@Entity
public class Many {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
@ManyToOne
@JoinColumn(name = "one_id")
private One one;
//Constructor, Getter and Setter
}
Repository:
import com.hotel.model.Many;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ManyRepository extends JpaRepository<Many, Long> {
}
Controller-Klasse:
@RestController
@RequestMapping(value = "many")
public class ManyController {
@Autowired
private ManyRepository manyRepository;
@GetMapping
@ResponseBody
public List<Many> getAllMany() {
return manyRepository.findAll();
}
@PostMapping
@ResponseBody
public ResponseEntity createMany(@RequestBody Many many) {
return new ResponseEntity(manyRepository.save(many), HttpStatus.CREATED);
}
}
Ich erstellte einen Datensatz mit ID = 1. Aber wenn ich einen Viele Datensatz mit JSON-Daten zu erstellen:
{
"name": "Foo",
"one_id": 1
}
Ich erhielt viele Datensatz mit one_id
ist null
Kann ich nur eine Anforderung mit neuen Viele Datensatz zu erstellen und zu Ein Datensatz hat id = 1 zuweisen? Muss ich 2 Request verwenden: create Many und One zuweisen?
Bitte geben Sie auch den Code ein, der die Daten enthält. –
ich hinzugefügt Repository und Controller-Klasse – tuannv562