您是否具有Hibernate实体的通用基类,即具有id,version和其他通用属性的MappedSuperclass?有什么缺点吗?
例:
@MappedSuperclass() public class BaseEntity { private Long id; private Long version; ... @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long getId() {return id;} public void setId(Long id) {this.id = id;} @Version public Long getVersion() {return version;} ... // Common properties @Temporal(TemporalType.TIMESTAMP) public Date creationDate() {return creationDate;} ... } @Entity public class Customer extends BaseEntity { private String customerName; ... }
这对我们来说很好。除了ID和创建日期,我们还有一个修改日期。我们还具有一个实现 Taggable 接口的中间 TaggedBaseEntity ,因为我们的某些Web应用程序实体具有标签,例如有关Stack Overflow的问题。 __