JPA中的b / w nullable关键字和nillable关键字有什么区别?

时间:2018-09-25 07:39:53

标签: java jpa jaxb

请让任何人解释以下声明的含义

@Column(nullable = false )
@XmlElement(required = true, nillable = true )

这意味着可空值和可空值之间的区别?

1 个答案:

答案 0 :(得分:3)

@Column批注来自JPA(Java持久性API),它指定如何将字段映射到数据库列。使用注释的nullable属性,您可以指定是否应在数据库中为此字段允许NULL值。

@XmlElement批注来自JAXB(用于XML绑定的Java API),它指定在将此对象与XML相互转换时应如何处理该字段。如果将nillable属性设置为true,则意味着在XML中允许相应的元素具有xsi:nil="true"属性。

请注意,在XML中,不存在,存在但具有空值和具有xsi:nil属性的XML元素之间存在细微差别。

使用带有@XmlElement属性的nillable = true注释是否合适取决于您的应用程序要求。