首页 > 解决方案 > 获取模型层中不同类的方法

问题描述

我的代码中有一个日志功能,使用这个模型

@Column(name = "OBJECT_ID")
private Long objectId;            <-- this is the id of the object of the logged class
@Column(name = "PROPERTY")
private String property;
@Column(name = "VALUE_BEFORE")
private String valueBefore;
@Column(name = "VALUE_AFTER")
private String valueAfter;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "AUDIT_LOG_DEFINITION_ID")
private AuditLogDefinition auditLogDefinition;

对于在 auditLogdefinition 中声明的每个不同的类,我们保留呈现给上述模型的信息。objectId 是记录类的 id。

我也有一个 AuditLogView :

Long getObjectId();       <-- here i want to show the string from the getName() method of the previewed class 

String getProperty();

String getValueBefore();

String getValueAfter();

@Value("#{target.auditLogDefinition.getClassName()}")
String getAuditLogDefinition();

我试图在模型中创建一个 getName() 方法,该方法从类名中获取类并从该对象中获取名称,但它始终为空。这是有道理的,因为我没有在任何地方使用 objectId。

我正在考虑在 JPA 存储库上进行自定义查询,但我不清楚是否可以返回List<AuditLogEntryView>自定义查询。

在我看来,在这里显示 getName() 字段的最佳做法是什么?

标签: javaspringjpa

解决方案


推荐阅读