一个class,注解@Entity,继承的字段却没有写入数据库,这是为什么?

我写了一些类来写数据库

//tTicker.java
@Entity
public class tTicker {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;

    private  String currencyPair;
    private  BigDecimal open;
    private  BigDecimal last;
    
    ......
}

//tTickerRepository.java
public interface tTickerRepository extends CrudRepository<tTicker,Long> {
}    

//tService.java
tTicker tt = new tTicker();
        tt.setCurrencyPair(ticker.getCurrencyPair().toString());
        tt.setOpen(ticker.getOpen());
        tt.setLast(ticker.getLast());      

        ttickerRepository.save(tt);

这时spring-boot可以很好的工作,读写数据库都可以。

但是我尝试将一个新的class继承自tTicker时,

//aTicker.java
@Entity 
public class aTicker extendstTicker {
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
    
}

//tTicker.java
@Entity
public class tTicker {    
    private  String currencyPair;
    private  BigDecimal open;
    private  BigDecimal last;
    
    ......
}

数据库中只写了id,没有其他字段,怎么也弄不明白,其他字段怎么就没有呢

阅读 4.1k
1 个回答

@MappedSuperclass
public class tTicker {
...
}

原来加一个@MappedSuperclass就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题