JPA/Hibernate 里 @Column 的属性设置和数据库表中字段的属性设置之间的关系?_Java_编程问答

JPA/Hibernate 里 @Column 的属性设置和数据库表中字段的属性设置之间的关系?

来源:互联网  时间:2018/1/29 1:06:36

关于网友提出的“ JPA/Hibernate 里 @Column 的属性设置和数据库表中字段的属性设置之间的关系?”问题疑问,本网通过在网上对“ JPA/Hibernate 里 @Column 的属性设置和数据库表中字段的属性设置之间的关系?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: JPA/Hibernate 里 @Column 的属性设置和数据库表中字段的属性设置之间的关系?
描述:

譬如 JPA/Hibernate 里

@Column(name = "foodName", unique = true, nullable = false)
在数据库里,字段 food_name 本身就已经设置了 not null 以及 unique

那么在 @Column 中还重复设置一次的意义何在?

如果有冲突的话,以哪个为准?


解决方案1:

谢邀,我说一下我的认识:
@Column设置了not null ,当你持久化这个对象的时候,发现这个设置了not null属性的字段为空,会抛异常,
当然如果你不设置,到了数据库,数据库发现这个字段设置了not null属性的字段为空,也会抛异常,那区别是什么呢?
个人认为,在对象上设置了not null,那么就在应用程序级别就校验了这个字段,如果你不在对象设置not null,那么就需要去链接数据库,在数据库的层面才校验这个字段,这是一个效率问题,多了一个数据库的连接过程,数据库的连接还是很有开销的。

以哪个为准? 以实际业务为准!

上一篇后端程序该如何防止用户输入恶意的字符?
下一篇java中io操作会使线程阻塞,那IO操作怎么完成
明星图片
相关文章
《 JPA/Hibernate 里 @Column 的属性设置和数据库表中字段的属性设置之间的关系?》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)