@MappedSuperclass

@MappedSuperclass是JPA中的注解,表示该类是一个映射的超类,它不会映射到数据库表中,但是可以被其他实体类继承,继承它的实体类可以使用它的属性和方法。

使用@MappedSuperclass注解的类通常用于定义一些公共属性或方法,这些属性或方法可以被多个实体类继承使用,避免了代码的重复编写。

例如,我们可以定义一个抽象类BaseEntity,使用@MappedSuperclass注解标注,然后在实体类中继承它,这样就可以在实体类中使用BaseEntity中定义的公共属性和方法。

示例代码:

@MappedSuperclass
public abstract class BaseEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    protected Long id;

    // 其他共有属性和方法
}

@Entity
public class User extends BaseEntity {
    private String username;
    private String password;

    // 其他属性和方法
}

@Entity
public class Order extends BaseEntity {
    private String orderNo;
    private Double amount;

    // 其他属性和方法
}

在上面的例子中,BaseEntity类使用@MappedSuperclass注解标注,表示它是一个映射的超类,不会映射到数据库表中。User和Order类继承了BaseEntity类,可以使用它的id属性。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值