@MappedSuperclass
public abstract class Auction {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(nullable = false)
private String title;
@Column
private String description;
@Column
private String category;
@Column(nullable = false)
private long sellerId;
@Column
private String urlPicture;
}
@Getter
@Setter
@Entity
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "inverseauction")
public class InverseAuction extends Auction{
@Column(nullable = false)
private int startingPrice;
@Column(nullable = false)
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy'T'HH:mm:ss[.SSS][.SS][.S]")
private LocalDateTime expiryDate;
}
我的
@GetMapping
返回的唯一属性是 startingPrice
和 expiryDate
,由于某种原因,拍卖属性对拍卖不可见。
我唯一的猜测是添加一些SpringBoot Annotation,但我不知道是哪一个,我尝试了一些但不起作用
private long id
和 Auction
中的其他所有内容仅对 Auction 类可见。
如果您希望它们对子类可见,例如
InverseAuction
,您可以使用 protected 而不是 private。
或者,如果你想走龙目岛路线,你可以将
@Getter(value = AccessLevel.PROTECTED)
添加到Auction类。