「簡約不簡單」意指化繁為簡的表達背後,蘊含複雜的設計與實現。軟體設計同樣應遵循極簡主義:以最簡約的表達達到最佳效果。
@Table(tableName="OrderInfo")
public class Order implements Serializable {
@TableField(name="id") private Number id;
@TableField(name="sn") private String sn;
// ... 20+ 欄位皆需 @TableField
@OneToOne(column="customer_id", type=Customer.class) private Customer customer;
@ManyToOne(column="order_id", type=OrderDetail.class) private Set children;
// getter/setter 省略
}
雖無 XML,但大量重複註解(80% 欄位名與屬性名相同)仍顯冗餘。
@Table(tableName="OrderInfo")
public class Order implements Serializable {
@OneToOne(column="customer_id", type=Customer.class) private Customer customer;
@ManyToOne(column="order_id", type=OrderDetail.class) private Set children;
private Number id; private String sn; private Date vdate; // ... 無需註解
// getter/setter
}
ORM 框架自動以屬性名對應欄位名,僅關聯關係需顯式宣告。
進一步推演:@OneToOne、表名、關聯欄位亦可透過命名慣例推導,完全由框架內部處理複雜映射邏輯(「不簡單」部分),業務類別回歸純粹 POJO。
簡約主義是建築、音樂、文學跨領域的美學追求,更應成為軟體設計的核心思想。今天,你「簡約」了嗎?
註:本文以 EasyDBO 為例,旨在支持國產開源。作者為 EasyJF 團隊成員,歡迎技術建議與貢獻,請勿誤認為炒作。