繁体   English   中英

我们如何告诉Hibernate将标识符属性设置为可选

[英]How can we tell Hibernate to make identifier properties as optional

Hibernate文档说:

Hibernate使标识符属性为可选。 您应该使用多种原因。 我们建议标识符是“合成的”,也就是说,没有业务意义。

正如它说的那样,标识符是可选的,我试图创建一个没有@Id注释的实体到任何字段。 然后我得到一个例外:

Initial SessionFactory creation failed.org.hibernate.AnnotationException: 
No identifier specified for entity: org.hibernate.tutorials.User

然后,这意味着Hibernate makes identifier properties optional. 有人可以解释一下吗?

标识符的可选性与您不必自己创建列的内容这一事实有关,因为Hibernate可以自动生成它。

相反,在表中没有标识列并不是很明智,因此Hibernate要求您在Entity类中定义一个对应的字段来保存某种标识值。 不必一定是自动递增的东西,但是当然,每个实体在其一个字段上都需要@Id注释,最好是Stringint

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM