jpa par défaut la valeur de la colonne de la classe personnalisée

Si j'ai une entité comme ce private Boolean test;, je peux mettre sa valeur par défaut comme ceci: @Column(columnDefinition = "boolean default false")

Mais mon problème est comment puis-je définir une valeur par défaut pour ma classe personnalisée?

Supposons que j'ai un User de la classe, comme ceci:

public class User {

  @Id 
  @GeneratedValue
  Long userID;

  String eMail;
@OneToOne(fetch = FetchType.LAZY,targetEntity = LoginCredential.class)
@JoinColumn(name = "userID",referencedColumnName = "userID")
@JsonIgnore
private LoginCredential loginCredential;
}

Et LoginCredential comme ceci:

public class LoginCredential {
  @Id 
  @GeneratedValue 
  Long userID;
  String eMail;
   @OneToOne(mappedBy = "loginCredential", fetch = FetchType.LAZY)
   User user;
};

Comment puis-je définir une valeur par défaut de User, de sorte que lorsque je crée LoginCredential a User trop.

J'ai essayé de User user=new User() et paramètre dans le constructeur. Tous deux m'ont donné exception.

Exception :

org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : com.mua.cse616.Model.LoginCredential.user -> com.mua.cse616.Model.User

Comment puis-je résoudre ce problème ?

+1
2019-09-18 07:16:31
source
0 réponses

Voir d'autres questions sur les étiquettes