JPA @Column
Ek Açıklaması
nullable
Öznitelik @Column
açıklama iki amacı vardır:
- şema oluşturma aracı tarafından kullanılır
- Hazırda Bekletme tarafından Kalıcılık Bağlamını yıkarken kullanılır
Şema Oluşturma Aracı
HBM2DDL şema oluşturma aracı , deyimi oluştururken @Column(nullable = false)
varlık niteliğini NOT NULL
ilişkili tablo sütunu için bir kısıtlamaya dönüştürür CREATE TABLE
.
Hazırda Bekletme Kullanıcı Kılavuzu'nda açıkladığım gibi , veritabanı şemasını oluşturmak için HBM2DDL mekanizmasına güvenmek yerine Flyway gibi bir araç kullanmak daha iyidir .
Kalıcılık Bağlamında Yıkama
Kalıcılık Bağlamını temizlerken, Hazırda Bekletme ORM @Column(nullable = false)
öğesi varlık özelliğini de kullanır :
new Nullability( session ).checkNullability( values, persister, true );
Doğrulama başarısız olursa, Hazırda Bekletme öğesi a atar PropertyValueException
ve INSERT veya UPDATE ifadesinin gereksiz yere yürütülmesini engeller:
if ( !nullability[i] && value == null ) {
//check basic level one nullablilty
throw new PropertyValueException(
"not-null property references a null or transient value",
persister.getEntityName(),
persister.getPropertyNames()[i]
);
}
Hazırda Bekletme işlevinin nasıl çalıştığı hakkında daha fazla bilgi için bu makaleye göz atın .
Fasulye Doğrulama @NotNull
Açıklaması
@NotNull
Ek açıklama hazırda ORM en popüler JPA uygulamasıdır gibi Bean Doğrulama tarafından tanımlanmıştır ve, en popüler Bean Doğrulama uygulamasıdır hazırda Doğrulayıcı çerçeve.
Hazırda Bekletme Doğrulayıcı'yı Hazırda Bekletme ORM'si ile birlikte kullanırken, Hazırda Bekletme Doğrulayıcısı ConstraintViolation
, varlığı doğrularken bir atar .