0

アプリケーションに JDO オブジェクトを使用しています。最近、アプリケーションを Google App Engine にデプロイすると、エンティティが相対的な種類で Cloud Datastore データベースに保存されず、ah_session に保存されます。ah_session で自分のデータ値を確認するにはどうすればよいですか? このデータを Cloud Datastore の種類に保存するにはどうすればよいでしょうか?

これは、set メソッドと get メソッド、およびコンストラクターのない JDO クラスです。

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Utente implements Serializable {

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long idUtente; 
@Persistent
private String email;
@Persistent
private String nome;
@Persistent
private String cognome;
@Persistent
private String password;
@Persistent
private Boolean attivo;
@Persistent
private String sesso;
@Persistent//(dependent = "true")
private Long idMatrimonio;

これは、オブジェクトを作成する utils クラスです。

public class UtenteUtils implements Serializable {
//private Logger log = Logger.getLogger(this.getClass());

public Utente creaUtente(Utente utente) {
    PersistenceManager pm = PMF.get().getPersistenceManager();
    try {
        utente = pm.makePersistent(utente);     
    } catch (Exception e) {        // TODO: handle exception
        System.out.println(e.getMessage() + "DB-creaUtente");
        //log.finest("crea utente errore");
    }
    finally{
        pm.close();
    }
    return utente;      
  }

  public void eliminaUtente(Long idUtente){
    PersistenceManager pm = PMF.get().getPersistenceManager();
            Query q = pm.newQuery(Utente.class);
    q.setFilter("idUtente == idUtenteParam");
    q.declareParameters("Long idUtenteParam");
    List<Utente> risultato = (List<Utente>) q.execute(idUtente);
    if(!risultato.isEmpty())
      for(Utente u : risultato)
          pm.deletePersistent(u);
      pm.close();
    }

  public Utente cercaUtente(Long idUtente) {
      PersistenceManager pm = PMF.get().getPersistenceManager();
      Utente u = pm.getObjectById(Utente.class, idUtente);
      return u;
  }

  public List<Utente> cercaUtentePerEmail(String mail) {
      List<Utente> utenti = new ArrayList<Utente>();
      PersistenceManager pm = PMF.get().getPersistenceManager();
              Query query = pm.newQuery(Utente.class);
      query.setFilter("email == emailParam");
      query.declareParameters("String emailParam");
      utenti = (List<Utente>) query.execute(mail);
      return utenti;
  }


  public List<Utente> listaUtenti() {
      List<Utente> utenti = new ArrayList<Utente>();
      PersistenceManager pm = PMF.get().getPersistenceManager();
      Query query = pm.newQuery("SELECT FROM it.nozze.cliente.JDO.Utente");
      utenti = (List<Utente>) query.execute();
      return utenti;
  }

そして、これは私がオブジェクトを使用するクラスです:

@ManagedBean
@SessionScoped
public class Registrazione implements Serializable {
private UtenteUtils utenteUtils;
private Utente sposo;
private Utente sposa;
private MatrimonioUtils matrimonioUtils;
private Matrimonio matrimonio;


public Registrazione() {
    this.sposo = new Utente();
    this.sposa = new Utente();
    this.matrimonio = new Matrimonio();
}

public void creaUtenteSposo() {
    matrimonioUtils = new MatrimonioUtils();
    matrimonio = matrimonioUtils.creaMatrimonio(matrimonio);

    sposo.setSesso("M");
    sposo.setPassword("x");
    sposo.setAttivo(true);
    sposo.setMatrimonio(m.getIdMatrimonio());
    utenteUtils = new UtenteUtils();
    sposo = utenteUtils.creaUtente(sposo);
}
4

0 に答える 0