1

次のdbモデルがあります:

ここに画像の説明を入力

intdoublestringおよびのいくつかのサブタイプがあり、dateそれらは の抽象親タイプを持っていtemplateValueます。という共通点がありvalueTypeます。それぞれTemplateValueMapに 1 つありTemplateValueます。また、それぞれTemplateValueMapに 1 つずつありTemplateItemます。それtemplateItemは の のvalueType1 つである をvalueTypes持っていTemplateValueます。存在する場合、valueType1 つのテーブルが作成されます。そうでない場合、テーブルは作成されません。

私のクラスは次のようになります。

@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

あなたの答えに本当に感謝します!

アップデート

ここに画像の説明を入力

4

0 に答える 0