我有一類這樣的:Google App Engine JDO如何定義實例字段?
import java.io.*;
import java.util.*;
public class Contact_Info_Entry implements Serializable
{
public static final long serialVersionUID=26362862L;
String Contact_Id,First_Name="",Last_Name="",Company_Name="",Branch_Name="",Address_1="",Address_2="",City="",State="",Zip="",Country="",E_Mail="",Phone;
int I_1,I_2;
float F_1,F_2;
boolean B_1,B_2;
GregorianCalendar Date_1, Date_2;
Vector<String> A_Vector=new Vector<String>();
public Contact_Info_Entry() { }
......
}
如果我想將它轉化爲JDO類,做我需要它的自我定義每個字段或者我可以一次做一組?
比如我必須做出這樣的:
@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class Contact_Info_Entry implements Serializable
{
@PrimaryKey
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent
public static final long serialVersionUID=26362862L;
@Persistent
String Contact_Id;
@Persistent
String First_Name;
@Persistent
String Last_Name;
......
@Persistent
int I_1;
@Persistent
int I_2;
...
@Persistent
float F_1;
...
@Persistent
boolean B_1;
@Persistent
boolean B_2;
@Persistent
GregorianCalendar Date_1;
...
@Persistent
Vector<String> A_Vector=new Vector<String>();
public Contact_Info_Entry() { }
......
}
或者,我可以在這樣的時間做1組:
@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class Contact_Info_Entry implements Serializable
{
@PrimaryKey
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent
public static final long serialVersionUID=26362862L;
@Persistent
String Contact_Id,First_Name,Last_Name="";
......
@Persistent
int I_1=0,I_2=1;
...
@Persistent
float F_1;
...
@Persistent
boolean B_1,B_2;
@Persistent
GregorianCalendar Date_1;
...
@Persistent
Vector<String> A_Vector=new Vector<String>();
public Contact_Info_Entry() { }
......
}
或者,我可以跳過「@Persistent」全部像這樣:
import java.io.*;
import java.util.*;
@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class Contact_Info_Entry implements Serializable
{
public static final long serialVersionUID=26362862L;
String Contact_Id,First_Name="",Last_Name="",Company_Name="",Branch_Name="",Address_1="",Address_2="",City="",State="",Zip="",Country="",
E_Mail="",Phone;
int I_1,I_2;
float F_1,F_2;
boolean B_1,B_2;
GregorianCalendar Date_1, Date_2;
Vector<String> A_Vector=new Vector<String>();
public Contact_Info_Entry() { }
......
}
哪個正確?
Frank
謝謝。我從上面的url注意到,在SCO類型表中,GregorianCalendar默認不是持久的,所以在我的示例中,我只需要刪除「@Persistent GregorianCalendar Date_1,Date_2;」因爲所有其他字段默認是持久的,我是否正確? – Frank 2010-04-24 13:39:45
這是正確的 – DataNucleus 2010-04-24 15:11:14