我正在寻找一个更好的方法,即如何排除审计字段(如createdBy,createdDate),同时提取@实体在数据存储库类或忽略他们在API响应。我知道我们可以通过使用@忽略或@IgnoreProperties对每个属性或实体类,但没有兴趣添加到每个类,原因是我有太多的实体。是否有任何其他方法可以实现简单和共同的实施?
tzdcorbm1#
如果所有审计字段都具有相同的名称,则使用一个抽象类来管理这些字段,然后从该抽象类扩展其他整体;我做法是:
@MappedSuperclass @EntityListeners(AuditingEntityListener::class) abstract class ModifiedJpaEntity:Serializable { companion object { private const val serialVersionUID = -5554308939380869754L } @Column @CreationTimestamp @JsonIgnore var createAt:Date?=null @Column @CreatedBy @JsonIgnore var createBy:String?=null @Column @UpdateTimestamp @JsonIgnore var updateAt:Date?=null @Column @LastModifiedBy @JsonIgnore var updateBy:String?=null val createTimeStr: String get() = if(createAt!=null) SimpleDateFormat("yyyy-MM-dd HH:mm").format(createAt) else "" val updateTimeStr: String get() = if(updateAt!=null) SimpleDateFormat("yyyy-MM-dd HH:mm").format(updateAt) else "" }
1条答案
按热度按时间tzdcorbm1#
如果所有审计字段都具有相同的名称,则使用一个抽象类来管理这些字段,然后从该抽象类扩展其他整体;
我做法是: