@ColumnคำอธิบายประกอบJPA
nullableแอตทริบิวต์ของ@Columnคำอธิบายประกอบมีจุดประสงค์สอง
- มันถูกใช้โดยเครื่องมือสร้างสคีมา
 
- มันถูกใช้โดยไฮเบอร์เนตในระหว่างการล้างเนื้อหาการคงอยู่
 
เครื่องมือสร้าง Schema
เครื่องมือสร้าง schema HBM2DDL จะแปล@Column(nullable = false)แอตทริบิวต์เอนทิตีเป็นNOT NULLข้อ จำกัด สำหรับคอลัมน์ตารางที่เกี่ยวข้องเมื่อสร้างCREATE TABLEคำสั่ง
  ดังที่ฉันได้อธิบายไว้ในคู่มือผู้ใช้ไฮเบอร์เนตจะดีกว่าถ้าใช้เครื่องมือเช่นFlywayแทนที่จะใช้กลไก HBM2DDL เพื่อสร้างสกีมาฐานข้อมูล
การคงอยู่ของบริบท
เมื่อล้างบริบทการคงอยู่ Hibernate ORM ยังใช้@Column(nullable = false)แอตทริบิวต์เอนทิตี:
new Nullability( session ).checkNullability( values, persister, true );
หากการตรวจสอบล้มเหลว Hibernate จะส่งข้อความ a PropertyValueExceptionและป้องกันคำสั่ง INSERT หรือ UPDATE ที่จะต้องถูกดำเนินการ:
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]
        );    
}
  สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำงานของกลไกการล้าง Hibernate ตรวจสอบบทความนี้
@NotNullบันทึกย่อการตรวจสอบความถูกต้องของ Bean
@NotNullคำอธิบายประกอบจะถูกกำหนดโดย Bean และตรวจสอบเช่นเดียวกับ Hibernate ออมเป็นการนำ JPA นิยมมากที่สุดที่นิยมมากที่สุดการดำเนินการตรวจสอบ Bean เป็นHibernate ตรวจสอบกรอบ
เมื่อใช้ตัวConstraintViolationตรวจสอบความถูกต้องของHibernate พร้อมกับ Hibernate ORM ตัวตรวจสอบความถูกต้องของHibernate จะส่งสัญญาณเมื่อตรวจสอบความถูกต้องของเอนทิตี