У меня есть класс (Activity) с полем (signatureSecret), определенным как интерфейс (SignatureSecret), реализация которого (SharedConsumerSecret) происходит из пакета Spring Security OAuth.
При сохранении экземпляров моего класса в Hibernate я хочу использовать определенное свойство SharedConsumerSecret в качестве значения, которое должно быть сохранено / загружено из базы данных. Я не могу комментировать SharedConsumerSecret, так как он является частью среды Spring.
Есть ли способ сделать это?
@Entity
public class Activity implements ConsumerDetails
{
@Transient
private List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
private String consumerKey;
private String consumerName;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@ManyToOne
private ActivityOwner activityOwner;
//THIS IS THE TRICKY ONE
private SignatureSecret signatureSecret;
@Size(min = 1, max = 36)
private String uuid;
...
Единственный способ обойти это, я могу придумать, - это иметь отношение один-к-одному SignatureSecrets к Activity, но это кажется немного глупым.