Modellerimdeki numaralı normal kimlik yerine UUID kullanmak istiyorum.Oynatıcı Çerçevesi ile UUID
Bu oyun çerçevesi ile yapılabilir mi?
Modellerimdeki numaralı normal kimlik yerine UUID kullanmak istiyorum.Oynatıcı Çerçevesi ile UUID
Bu oyun çerçevesi ile yapılabilir mi?
İlk don `t uzatmak (play.db.jpa.Model) Model sen Id üretmek ancak GenericModel kullanmak istiyorum.
daha sonra, nesne oluşturulduğunda çağrılan yardımcı sınıfı kullanabilirsiniz (kurucuda). kaydedildiğinde
veya yardımcı sınıf çağrı
veya eğer (böylece ben sarıcı DAO oluşturmak zorunda i nesneyi kaydetmek id oluşturabilir, böylece, kaydetme işlemi Nesne değil sarıcı DAO'sunda yapılır) Daha basit bir yaklaşım kullanmak istiyorsanız JPA UUID. Aşağıdaki kodlara bakın.
@Entity
public class User extends GenericModel {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
public String id;
}
Eh, Model sınıfı bir modeliniz sınıfları için @id özelliği olarak uzun oluşturulan sağlamak için nitelik, yöntemler ve açıklamalar ekleyen GenericModel sadece bir alt sınıftır. Bunu istemiyorsanız
, bunun yerine GenericModel alt sınıfı ve kendi @id sağlayabilir. Sizin durumunuzda UUID'yi tutacak bir String olacaktır. Yine de, yeni model örneklerinde başlatmak için bir strateji bulmanız gerekecek.
JPA tarafından UUID'lerin üretilmesi için sağlanan yerleşik bir stratejiden haberdar değilim. Basit bir yöntem, yeni bir UUID almak için bir yöntemi çağırabileceğiniz ve her yeni bir model oluşturduğunuzda bunu aradığınızdan emin olmanıza yardımcı olacak bir yardımcı sınıfa sahip olmak olacaktır. Modelde
GenericModel: anti-pattern değil mi? bakınız: http://en.wikipedia.org/wiki/BaseBean – Kowser
wiki ve "Bu yazının tarafsızlığı tartışmalı" diyen wiki'nin tarafsızlığına ilişkin yorumu görün, bu uygunsuz anti-pattern olarak adlandırılır. – indrap
evet, öyle görüyorum. Sorunu açıklığa kavuşturmak için daha fazla çalışmaya ihtiyaç var. – Kowser