次のdbモデルがあります:
int
、double
、string
およびのいくつかのサブタイプがあり、date
それらは の抽象親タイプを持っていtemplateValue
ます。という共通点がありvalueType
ます。それぞれTemplateValueMap
に 1 つありTemplateValue
ます。また、それぞれTemplateValueMap
に 1 つずつありTemplateItem
ます。それtemplateItem
は の のvalueType
1 つである をvalueTypes
持っていTemplateValue
ます。存在する場合、valueType
1 つのテーブルが作成されます。そうでない場合、テーブルは作成されません。
私のクラスは次のようになります。
@Entity
@DiscriminatorColumn(name="valueType")
public abstract class TemplateValue implements Serializable{
@Id
@GeneratedValue
private Long id;
@NotNull
@Size(min=1, max=32)
private int valueType;
TemplateValueDate/Int/Double
そのクラスには、次のようないくつかの子があります(これらは、 ectのような他のすべてのクラスで同じように見えます):
@Entity
@DiscriminatorValue(value = "stringValue")
public class TemplateValueString extends TemplateValue implements Serializable {
/**
* the int value
*/
@NotNull
@Size(min=1, max=32)
@Pattern(regexp = "[A-Za-z0-9 ]*", message = "Please insert a valid String")
@Column(name="String_value")
private String stringValue;
私TemplateValueMap
は現時点でそのように見えます:
@Entity
public class TemplateValueMap implements Serializable{
@Id
@GeneratedValue
private Long id;
@OneToOne
private TemplateValue tempValue;
@OneToOne
private TemplateItems tempItem;
私TemplateValueItem
のように見えます:
@Entity パブリック クラス TemplateItems は Serializable を実装します{
@Id
@GeneratedValue
private Long id;
@OneToOne
private TemplateValue tempValue;
private String label;
private String valueType;
private String displayType;
valueType
私の問題は、休止状態を作成するために使用value
するかどうかを決定する必要があることを休止状態に伝える方法TemplateValueString/Double/Int
です。この値は、 の valueType によって作成され、TemplateValue
で設定されます。TemplateItems
あなたの答えに本当に感謝します!
アップデート