Hibernate: Comment utiliser la cascade à l'annotation?
Comment puis-je utiliser cascade et des annotations en veille prolongée?
Mais je reste avec un doute:
J'ai cette situation:
public class Package(){
@OneToOne(cascade=CascadeType.PERSIST)
private Product product;
@OneToOne(cascade=CascadeType.PERSIST)
private User user;
..
}
Quand j'essaie de session.save(package)
, une erreur se produit.
Je ne veux pas enregistrer le produit et l'emballage. Je veux juste initialiser et les mettre dans mon colis de l'objet.
Est-ce possible?
Votre question n'a pas de contexte - s'il vous plaît ajouter un exemple de ce que vous êtes spécialement essayez d'accomplir. Aussi, si vous avez besoin d'ajouter de l'information, il serait préférable de mettre à jour votre question elle-même (au lieu d'utiliser les commentaires). Cliquez sur le
Salut Rob, comment puis-je utiliser un [code][/code] dans le présent site web ?
Lorsque vous modifiez votre question, il y a une icône au-dessus de la zone de texte qui ressemble à
C'est moi qui dit merci Rob, merci !
Pour votre nouvelle question:
edit
bouton en vertu de la question des balises.Salut Rob, comment puis-je utiliser un [code][/code] dans le présent site web ?
Lorsque vous modifiez votre question, il y a une icône au-dessus de la zone de texte qui ressemble à
{}
. Vous pouvez sélectionner votre code et cliquez sur le bouton pour le mettre en forme. Alternativement, vous pouvez mettre en retrait tout le code de quatre espaces. Merci pour la mise à jour de votre question avec plus d'informations.C'est moi qui dit merci Rob, merci !
Pour votre nouvelle question:
CascadeType.PERSIST
signifie que lorsque vous vous enregistrez product
votre user
sera enregistré avec lui. Si vous voulez initialiser sur " lire vous devez définir FetchType.EAGER
ou d'effectuer une HQL
requête avec left join
etc. Aussi, ne pas modifier une question à une autre question, et si vous êtes, fournir un clair mise à jour à la place.OriginalL'auteur Valter Silva | 2011-03-01
Vous devez vous connecter pour publier un commentaire.
Voir le documentation hibernate qui est très claire sur cette question. Par exemple, vous pourriez utiliser, par exemple,
ou
J'ai peut-être tort, mais PERSISTENT persiste détaché de l'objet lors de SAVE_UPDATE essaie d'abord de chercher ce détachée de l'objet dans la base de données et si réussir que les mises à jour, sinon fonctionne comme PERSISTENT.
OriginalL'auteur Johan Sjöberg
Si vous utilisez le hibernate API native , alors vous devriez utiliser l'annotation de hibernate pour la cascade et il est :
puis vous appelez la méthode save()
mais avec votre annotation , vous devez appeler la méthode persist() de la JPA
OriginalL'auteur Hamdi Baligh