でのデータ型の目的のために継承を使用して、私は次のようになり、いくつかのエンティティがあります。スーパークラスで定義されたbyte[]
は、各サブクラスのエンティティの興味深い部分であるJPA
@Entity
public abstract class AbstractEntity{
@Id
private Long id;
String name;
User author;
@Lob
byte[] data;
}
public class EntityOne extends AbstractEntity{
// nothing new
}
public class EntityTwo extends AbstractEntity{
// nothing new
}
public class EntityThree extends AbstractEntity{
// nothing new
}
を。私がサブクラス化したいのは、プログラムの一部にEntityThree
が必要であり、プログラムの一部にEntityTwo
が必要なので、タイピング規則を適用することです。 byte[]
は、サブクラスとサブクラスとは全く異なる意味を持ちます。
私はサブクラスのいずれかがフィールドやメソッドを追加することは期待していないので、少し奇妙に思えます...私は入力ツールとしてのみ継承を使用します。
これは合理的なデザインですか?これを達成するためのより良い方法は?ベストプラクティスが壊れていますか?
サブクラス固有のものがない場合、サブクラス化はなぜですか? –
バイト[]のみに違いがあるためです。そして、私は正しいサブクラスを持っていることを確認するためにinstanceOfのようなことをやりたいと思っています。 – b3bop