哪个JPA @Column元素具有运行时效果?

时间:2017-04-20 03:16:47

标签: hibernate jpa

应用程序运行时,持久性提供程序运行时(即Hibernate)使用@Columnnullable等各种length元素是怎样的?

据我所知,有些元素仅用于模式生成,但我无法找到它的用语。仔细阅读JPA 2.1规范似乎并没有说明属性是否具有运行时效果。

第11.1.9节列出了所有@Column元素:nameuniquenullableinsertableupdatable,{{ 1}},columnDefinitiontablelengthprecision

第11.2.2.1节列出了模式生成中使用的scale元素,但它表明列出的元素完全用于模式生成。事实上,我相信列出的@Columnname也具有运行时效果:它们指示持久性提供程序的运行时映射。唯一未列出的元素是tableinsertable,因此似乎暗示这些元素具有运行时效果,否则它们没有任何用途。

从我能够从JPA规范和其他SO问题和答案中收集到的内容如下:

具有运行时效果的@Column元素:

  • updatable
  • insertable

@Column元素两者运行时效果并用于模式生成:

  • updatable
  • table

@Column元素仅使用 进行模式生成(在运行时无效):

  • name
  • length
  • nullable
  • precision
  • scale
  • unique

这是正确的,是他们的任何官方或半官方文件吗?

0 个答案:

没有答案