譬如 JPA/Hibernate 里
@Column(name = "foodName", unique = true, nullable = false)
在数据库里,字段 food_name 本身就已经设置了 not null 以及 unique
那么在 @Column 中还重复设置一次的意义何在?
如果有冲突的话,以哪个为准?
譬如 JPA/Hibernate 里
@Column(name = "foodName", unique = true, nullable = false)
在数据库里,字段 food_name 本身就已经设置了 not null 以及 unique
那么在 @Column 中还重复设置一次的意义何在?
如果有冲突的话,以哪个为准?
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
谢邀,我说一下我的认识:
@Column设置了not null ,当你持久化这个对象的时候,发现这个设置了not null属性的字段为空,会抛异常,
当然如果你不设置,到了数据库,数据库发现这个字段设置了not null属性的字段为空,也会抛异常,那区别是什么呢?
个人认为,在对象上设置了not null,那么就在应用程序级别就校验了这个字段,如果你不在对象设置not null,那么就需要去链接数据库,在数据库的层面才校验这个字段,这是一个效率问题,多了一个数据库的连接过程,数据库的连接还是很有开销的。