2016-04-11 14 views
0

Bir Java projesinde db4o kullanıyorum. Querybyexample kullanılarak evli olmayan tüm kişileri almak için bir prototip oluşturmak istiyorum. Kişi sınıfı üç özellik vardır: adı (String), yaş (int) ve evli (boolean), bu yüzden aşağıdaki prototip oluşturma: evli olmayan kişilerin alma yerine TÜM kişiler saklanan, ben olsundb4o sorgula ilgili sorgu için örnek prototip

Person prototypePerson = new Person(null, 0, false); 

DB, hem evli hem de bekar. Beklenmeyen kişileri querybyexample kullanarak alabilir miyim yoksa yerel sorgular kullanmalı mıyım?

cevap

0

Temel olarak örnek olarak sorgu, yalnızca sorgu parametresi olarak varsayılan değere sahip olmayan alanları denetler. Boolean için 'false' varsayılan değerdir, bu nedenle örneğinizde atlanacaktır.

Enum kullanmayı düşünebilirsiniz. Alanı bu numaraya değiştirin. Gibi:

enum MaritalStatus{ 
    MARRIED, 
    SINGLE 
} 

class Person{ 

    private String name; 
    private MaritalStatus status; 

    public Person(String name, MaritalStatus status){ 
     this.status = status; 
     this.name = name; 
    } 

    // more 
} 

Bu (durum olarak Dul eklenmesi gibi) genişletilebilir kodunuzu daha ne anlama geldiğini açık ve daha yapar ve buna örnek sorgu ile çalışmalıdır. Sorgu şu şekilde olacaktır:

Person prototypePerson = new Kişi (null, 0, MaritalStatus.SINGLE);