1
而我重构代码库我通过Hibernate注释中USER实体来了,如同它是很好的保持DB约束休眠实体
@Column(name = "personal_email", nullable = true, length = 64)
private String personalEmail;
...居然有数据截断错误,如果personalEmail超过64个字符。
我个人认为保留这样的注释是一种不好的做法。我认为我们不必通过数据库实体元信息破坏我们的代码。
我的方法是我将删除长度和可为空的注释名称,并让DB在任何违反约束的情况下通知。
我认为只保留这种类型的注释的优点是它不会传播错误的数据到数据库级别。
我想知道您的建议......
反正我会改变列宽personalEmail在DB。
实际上,这取决于您是否通过休眠或不休眠来创建数据库模式。如果没有,那么在注释中没有任何优势(除了可能用于信息目的)。 – Kayaman
我正在考虑改变约束,而运行时不应该这样做。 http://dba.stackexchange.com/questions/27153/alter-table-on-live-production-databases –
对不起,我真的不明白你在说什么。 – Kayaman