JDO(GWT)中单个类的多个表

时间:2010-11-19 16:19:41

标签: gwt jdo

我有一类数据,我坚持在GWT上使用JDO,并且需要分别存储两组相同的类,一组是原始数据,另一组合并和处理。
有没有一种简单的方法可以做到这一点,试图在文档中找到它而没有运气。

谢谢, 阿隆。

2 个答案:

答案 0 :(得分:2)

没有。 JDO或JPA都不会支持这样的事情。显然你可以继承类,并为合并/处理的数据提供子类,并将其存储在自己的表中

答案 1 :(得分:1)

作为更新,假设有许多方法尝试将数据子类化或嵌入到另一个类中,其中很多都不能很好地工作(在GWT上),这里有两个模式可以工作。首先,主要功能是主键位于基类中,继承策略是SUBCLASS_TABLE。请注意,这意味着无法保留BaseData。第二种机制如下所示。在其中,基类是可以持久化的常规类,派生类具有customStrategy =“complete-table”的继承策略

1)

@PersistenceCapable

@Inheritance(strategy = InheritanceStrategy.SUBCLASS_TABLE)

public class BaseData  
{
    @PrimaryKey

    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    public Long id;

    // scan data
    @Persistent
    public String Data1 = "";
    //  etc...
}

@PersistenceCapable
public class ProcessedData  extends BaseData
{
    // No key
    // Thats it
}

@PersistenceCapable
public class RawData  extends BaseData
{
    // No key
    // Thats it
}

2)

@PersistenceCapable
@Inheritance(customStrategy = "complete-table")

public class ProcessedData  extends RawData 
{
// thats it
}

@PersistenceCapable
public class RawData 
{
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    public Long id;

    @Persistent
    public String Data1 = "";

    // ...
}