У меня есть API, который возвращает список interfaces
из базы данных. Интерфейс имеет parrent Asset
. Я хотел бы получить информацию об активе в ответе JSON
, но не обо всем проекте. Я знал, что установка @jsonignore
будет работать, но я хотел бы иметь возможность получить к нему доступ и другим способом.
Можно ли переопределить toString()
метод Asset
, поэтому только это значение будет возвращено интерфейсам?
@Entity
@EntityScan
@Table(name = "interface")
@EntityListeners(AuditingEntityListener.class)
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Interface {
private Long id;
private String privateip;
private String floatingip;
private String subnetId;
private String macaddr;
private Asset asset;
//setters getters and relations
}
и
@Entity
@EntityScan
@Table(name = "asset")
@EntityListeners(AuditingEntityListener.class)
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Asset {
private Long id;
private String name;
private String assetId;
private Project project;
private String origin;
private Boolean active;
private Set<Interface> interfaces;
//getters and setters
@Override
public String toString() {
return this.name;
}
}
Яэто не так удивляет, но эта конфигурация не работает.