2010-08-02 3 views

Répondre

1

Je suis sûr que lors de l'exécution, vous pouvez utiliser une sorte de jedi-réflexion -trick pour trouver la météo votre entité est une entité Hibernate (une approche que je ne recommanderais pas), cependant, dans des circonstances normales, vous ne devez pas vous inquiéter si ce n'est pas une entité hibernate, la méthode Session.saveOrUpdate() va lancer un HibernateException expliquant la raison pourquoi il ne pouvait pas sauver et/ou le mettre à jour.

Vous ne pouvez rien faire pour empêcher votre méthode publique d'être appelée avec un type d'objet arbitraire. Ce que vous pouvez faire est de documenter votre API quant au type d'entités auxquelles elle s'attend et le comportement qui en résulte si quelque chose de différent lui est transmis.

0

Il existe quelques méthodes sur l'interface Session qui prennent un argument Class, comme createCriteria(Class) et getCurrentLockMode(Class). Je n'ai pas essayé cela, mais vous pourriez essayer de passer la classe de votre objet à l'une de ces méthodes. Si vous avez de la chance, alors si ce n'est pas une classe d'entité, une exception sera levée.

Pas élégant, mais il est tout ce que je suis arrivé :)

Questions connexes