“扩展ParentClass”不会使用@MappedSuperClass继承ParentClass属性

问题描述 投票:0回答:1
@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,但我不知道是哪一个,我尝试了一些但不起作用

java spring-boot spring-data-jpa
1个回答
0
投票
由于 private 关键字,

private long id
Auction
中的其他所有内容仅对 Auction 类可见。

如果您希望它们对子类可见,例如

InverseAuction
,您可以使用 protected 而不是 private。

或者,如果你想走龙目岛路线,你可以将

@Getter(value = AccessLevel.PROTECTED)
添加到Auction类。

© www.soinside.com 2019 - 2024. All rights reserved.