Com*_*ade 3 java database-design hibernate
例如在数据库中考虑:
CREATE TABLE users (
id INTEGER IDENTITY PRIMARY KEY,
last_name VARCHAR (50) DEFAULT '' NOT NULL,
first_name VARCHAR (50) DEFAULT '' NOT NULL,
email VARCHAR(50) DEFAULT '' NOT NULL)
Run Code Online (Sandbox Code Playgroud)
并考虑使用Hibernate作为ORM与该数据库交互的程序.
在我看来,这意味着:
这是好习惯吗?请举例说明优缺点.
正如PeterMmm所写,"Null"具有特殊含义,并且通常由数据库引擎中的特殊运算符支持.
"良好实践"是那些意味着你想要它意味着什么的短语之一,但是稍微解开一下这些论点:
可维护性:糟糕的主意.大多数开发人员习惯于在数据库系统中实现NULL,并且需要对您的设计进行特殊培训.
容错:不好主意.如果不允许列为null,那通常意味着应用程序设计中的某些内容.如果用户记录必须有一个有效的电子邮件地址,您现在不能再在数据库级别验证这一点 - 因此您的数据库可能会逐渐填满虚假数据,并且您只会在尝试发送电子邮件时找到至 ''."空指针"异常是功能,而不是错误!
性能:根据http://www.sql-server-performance.com/2007/datatypes/,NULL更慢.
| 归档时间: |
|
| 查看次数: |
1560 次 |
| 最近记录: |