Tutaj jest oczywiście kod. Może coś jest pomieszane z relacjami, bo w przypadku prostych POSTÓW wszystko działa poprawnie
@Entity
public class SportpersontableEvent implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="sportpersonEventId")
private Long sportpersontableeventId;
@ManyToOne(fetch = FetchType.LAZY, targetEntity = Sportpersontable.class)
@MapsId("sportpersonId")
@JoinColumn(name="sportperson_id", nullable=false)
private Sportpersontable sportperson;
@ManyToOne(fetch = FetchType.LAZY, targetEntity = Dyscyplinetable.class)
@MapsId("dyscyplineId")
@JoinColumn(name="dyscypline_id", nullable=false)
private Dyscyplinetable dyscypline;
//getery i setery
@Repository
public interface SportpersonEventRepo extends CrudRepository<SportpersontableEvent, Long> {
}
@RestController
@RequestMapping("api/sportpersonEvent")
@CrossOrigin
public class SportpersonEventApi {
@Autowired
private SportpersonEventManager sportpersonEventManager;
@PostMapping
public void add(@RequestBody SportpersontableEvent sportpersontableEvent) {
sportpersonEventManager.add(sportpersontableEvent);
}
@Entity
public class Dyscyplinetable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="dyscyplineId")
private Long dyscyplineId;
private String name;
private int population;
//getery i setery
}
Entity
public class Sportpersontable implements Serializable{
@Id
@Column(name="sportpersonId")
private Long sportpersonId;
@OneToOne
@MapsId
private Usertable user;
//getery i setery
}