Hibernate 哪些JPA@Column元素具有运行时效果?
当应用程序运行时,持久性提供程序运行时(即Hibernate)如何使用各种Hibernate 哪些JPA@Column元素具有运行时效果?,hibernate,jpa,Hibernate,Jpa,当应用程序运行时,持久性提供程序运行时(即Hibernate)如何使用各种@Column元素,例如nullable和length 我知道有些元素仅用于模式生成,但我找不到这是在哪里声明的。仔细阅读JPA2.1规范似乎并不能说明属性是否具有运行时效果 第11.1.9节列出了所有@列元素:名称,唯一,可空,可插入,可更新,列定义,表,长度,精度,比例 第11.2.2.1节列出了架构生成中使用的@列元素,但没有说明所列元素是架构生成中唯一使用的。事实上,我相信列出的name和table也有运行时效果:
@Column
元素,例如nullable
和length
我知道有些元素仅用于模式生成,但我找不到这是在哪里声明的。仔细阅读JPA2.1规范似乎并不能说明属性是否具有运行时效果
第11.1.9节列出了所有@列
元素:名称
,唯一
,可空
,可插入
,可更新
,列定义
,表
,长度
,精度
,比例
第11.2.2.1节列出了架构生成中使用的@列
元素,但没有说明所列元素是架构生成中唯一使用的。事实上,我相信列出的name
和table
也有运行时效果:它们指导持久性提供者的运行时映射。唯一未列出的元素是可插入的
和可更新的
,因此似乎暗示这些元素具有运行时效果,否则它们没有任何用途
根据我从JPA规范和其他SO规范中收集到的信息,问题和答案如下: @仅具有运行时效果的列元素:
insertable
可更新的
表格
name
长度
nullable
精度
比例
unique
列定义
这是正确的吗?他们的任何官方或半官方文档都是这样吗?
columnDefinition
仅用于生成模式,它覆盖长度
、精度
和比例
。似乎columnDefinition
也应该覆盖唯一和可为空的,不是吗?你在哪里找到这些信息的?谢谢