Salve ho la necessità di realizzare una relazione di tipo OneToOne fra due classi entità che devono essere rese persistenti mediante Hibernate.
Il problema è che neccessito di un'associazione bidirezionale ed obbligatoria.

@Entity
@Table(name = "Tessere")
public class DBTessera {

@Id
@Column(name = "ID")
@GeneratedValue
private int id;

@Column(name = "DataRilascio")
private Date dataRilascio;

@Column(name = "CreditoResiduo")
private float credito;

@OneToOne(mappedBy = "dbTessera")
private DBSocio dbSocio;

...
}

@Entity
@Table(name = "Soci")
public class DBSocio {

@Id
@Column(name = "ID")
@GeneratedValue
private int id;

@Column(name = "Nome")
private String nome;

@Column(name = "Cognome")
private String cognome;

@Column(name = "Telefono")
private String telefono;

@Column(name = "EMail")
private String email;

@OneToOne(optional = false, cascade = CascadeType.ALL)
@JoinColumn(name = "IDTessera")
private DBTessera dbTessera;

...
}

A questo punto se creo un oggetto di tipo DBSocio e gli assegno un riferimento ad un oggetto di tipo DBTessera e cerco di salvare l'oggetto DBSocio mi compare l'errore
Cannot add or update a child row: a foreign key constraint fails (`complessosportivo`.`soci`, CONSTRAINT `FK_7gnoxc84fdftkdkwp2e2bwd6w` FOREIGN KEY (`IDTessera`) REFERENCES `tessere` (`ID`))

Sapete come potrei risolvere il problema evitando di dovere rendere l'associazione opzionale in modo da salvare prima un'entity e poi l'altra ad essa collegata?
Grazie