他のエンティティを含む休止状態のエンティティをフラットな JSON 形式にシリアライズおよびデシリアライズしたいと考えています。したがって、次のエンティティがあるとします。
鍵:
@Entity
public class Key implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@Column(name = "KeyID")
private Long id;
@Column
private String description;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "KeyTypeID", nullable = false)
private KeyType keyType;
public Long getId() {
return id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public KeyType getKeyType() {
return keyType;
}
public void setKeyType(KeyType keyType) {
this.keyType = keyType;
}
}
キータイプ:
@Entity
public class KeyType implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "KeyTypeID")
private Long id;
@Column(name = "Name", nullable = false, unique = true)
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Key クラスのオブジェクトを次のようにシリアライズしたい:
{
"keyID": 1,
"description": "key 1",
"keyTypeName": "Type 5" //this is Key.keyType.name
}
また、上記の JSON を KeyType エンティティを含む Key オブジェクトに逆シリアル化できるようにしたいと考えています。Jackson を使用してそれは可能ですか、それともカスタム コードを実装する必要がありますか?