2017-12-25 23 views
0

私は春のブートのための新しいです。 @Entityはクラスをdbにすることができ、それは動作します。@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); 

しかし、このクラスを拡張すると、現在のフィールドストアのみがdbになります。

//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; 

    ...... 
} 

どうすればよいですか?ご協力いただきありがとうございます。

https://github.com/xchao0213/aitrader

+0

私は簡単にエンティティクラス間の継承に見て、それが非見えます簡単。エンティティクラスに継承階層が必要ですか? –

答えて

0

ご質問がJPAエンティティに関連しているので、あなたは、JPAのドキュメント(ブート春ではない)を見てみる必要があります。

あなたは@MappedSupperClassとあなたのスーパー/ベースクラスに注釈を付ける必要があります。

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

    ...... 
} 


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

} 

は@MappedSupperClassのドキュメントを見てみましょう: https://docs.oracle.com/javaee/7/api/javax/persistence/MappedSuperclass.html

+0

@Tim、tTickerのMappedSuperclassアノテーションを使って、彼は必要なものを実現します。 – tuga

+0

その後、そのコードを解決策として投稿します。 –

関連する問題