SORU
6 Ocak 2009, Salı


Hazırda Listeleme

Genellikle yararlı bir Java numaralandırma geliyor olan bir DAO bir alan var. Tipik bir örnek olarak genellikle kullanıcı karakterize bir alan olduğu bir oturum açma DAO "NORMAL" ya da "". ADMİN Hazırda Beklet, aşağıdaki 2 nesneleri (yarı)typesafe bir şekilde bu ilişkiyi göstermek için kullanın.

class User {
    String username;
    String passwd;
    UserType type;
}

class UserType {
    private enum Type {ADMIN, NORMAL};
    private String type;

    //Setters/Getters for Hibernate
    public void setType(String type);
    public String getType();

    //Setters/Getters for user
    public void setUserType(UserType.Type t);
    public UserType.Type getUserType();

    public static UserType fromType(UserType.Type t);
}

Bu çalışır, ama UserType sınıf ungly ve çok değerleri bir kaç Mağaza için bürokrasi gerektiren buluyorum. İdeal olarak, Hazırda numaralama alanları doğrudan destek ve numaralandırma değerleri saklamak için ekstra bir tablo oluşturmak istiyorsunuz.

Benim soru şudur: doğrudan Hazırda bir numaralandırma sınıfı göster için herhangi bir yolu var mı? Temsil eden numaralandırma için benim desen yeterince iyi değil ya da ben bir şey eksik? Diğer düzenlerde insanlar ne kullanıyorsunuz?

CEVAP
12 Ocak 2009, PAZARTESİ


Uyku veya JPA ek açıklamaları kullanarak:

class User {
   @Enumerated(EnumType.STRING)
   UserType type
}

UserType sadece standart java 5 numaralama.

Bu sadece ek açıklamalar ile sınırlıdır sadece hayal bile edemiyorum ama aslında hbm dosyaları ile bunu yapmak için nasıl bilmiyorum. Çok sürüm bağımlı olabilir diye tahmin ediyorum ama hazırda 3.2 gerekli olduğuna gayet eminim.

bir hbm içinde mümkündür, ama biraz dağınıktır, forum thread şuna bir bak . edit:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • habpsu

    habpsu

    25 Temmuz 2007
  • undrmyumbrellaa

    undrmyumbrel

    25 Temmuz 2012
  • vgeller1

    vgeller1

    22 Kasım 2009