I have such entities:
Bonus_Request entity:
@Entity
@Table(name = "bonus_request")
public class BonusRequest {
//some code above...
@OneToMany(fetch = FetchType.EAGER, mappedBy = "bonusRequest")
@JsonManagedReference(value = "parameter-bonus_request")
private Set<BonusRequestParameter> parameters;
}
Bonus_Request_Parameter entity:
@Entity
@Table(name = "bonus_request_parameter")
public class BonusRequestParameter {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Size(max = 30)
@Column(name = "parameter", nullable = false)
private String parameter;
@Size(max = 50)
@Column(name = "value", nullable = false)
private String value;
@JoinColumn(name = "bonus_request_id", nullable = false)
@ManyToOne(fetch = FetchType.LAZY)
@JsonBackReference(value = "parameter-bonus_request")
private BonusRequest bonusRequest;
}
I wonder if it is possible to map the BonusRequestParameter entity as a java.util.Map field in the BonusRequest entity.
For example:
@Entity
@Table(name = "bonus_request")
public class BonusRequest {
@OneToMany(fetch = FetchType.EAGER, mappedBy = "bonusRequest")
private Map<String, String> parameters; //String parameter, String value
}
I use:
- Spring Data JPA - 2.1.7
- PostgreSQL DB - 10.7