所以我有一个voteevent类,它是event类的一个子类。事件类如下所示:
@MappedSuperclass
public class Event {
@Column(name="name")
private String name;
@Column(name="timeSlot")
private String timeSlot;
voteevent类如下所示:
@Entity
@Table(name = "vote_events")
public class VoteEvent extends Event implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "upVotes")
private Integer upVotes = 0;
在我的user对象中,我有一个voteevents数组,这样我就知道哪些事件是某个特定用户所决定的。在我的前端,当我更新用户upvoted事件时,我传入一组投票事件,这些事件具有timeslot和name属性。但是当我这样做的时候:
return new ResponseEntity<User>(userRepository.save(_user), HttpStatus.OK);
,响应是正确的,投票事件的用户数组具有名称和时隙属性,但是当我查看数据库时,投票事件的用户数组具有空名称和时隙属性。因此,每当我使用spring存储库保存一个对象时,它包含用子类构造的对象,它们就会丢失超类属性。
1条答案
按热度按时间a11xaf1n1#
试试下面的代码,它的工作对我来说很好。
对于voteevent和event,请提供
@SuperBuilder
以及@RequiredArgsConstructor
. 可能是因为这些物业在VoteEvent
对象