@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 จะส่งสัญญาณเมื่อตรวจสอบความถูกต้องของเอนทิตี