2013-03-20 4 views
1

J'essaie de créer un bean SessionFactory. Mon code est le suivant:La création du bean SessionFactory a échoué (ClassCastException est levé)

@Bean 
public SessionFactory sessionFactory() { 
    return new LocalSessionFactoryBuilder(dataSource()).scanPackages("com.package").buildSessionFactory(); 
} 

@Bean 
public DataSource dataSource() { 
    BasicDataSource dataSource = new BasicDataSource(); 
    dataSource.setDriverClassName("com.mysql.jdbc.Driver"); 
    dataSource.setUrl("jdbc:mysql://localhost:3306/csu_library"); 
    dataSource.setUsername("csulibrary"); 
    dataSource.setPassword("csulibrary"); 
    dataSource.setMaxActive(10); 
    dataSource.setMaxIdle(5); 
    dataSource.setInitialSize(5); 

    return dataSource; 
} 

L'exception qui jette est la suivante:

Caused by: java.lang.ClassCastException: org.hibernate.mapping.SingleTableSubclass cannot be cast to org.hibernate.mapping.RootClass 
+0

Do u créer haricot pour anyother POJO – muthu

+0

Je ne pense pas que le problème est avec l'usine de la session vérifier vos fichiers de haricots .. comme je l'ai trouvé ce http://stackoverflow.com/ q/3615778/2006839 et http://forum.springsource.org/showthread.php?123978-Inheritence-polymorphism-and-Id-problem poster votre classe de haricots .. – Lakshmi

+0

@Lakshmi J'ai essayé de regarder la réponse plus tôt mais je ne comprends pas tout à fait. –

Répondre

5

Lorsque vous utilisez l'héritage en super classe POJO devrait avoir uniqueID comme la clé primaire et le sous classess Je peux seulement l'utiliser comme clé étrangère si vous ne le faites pas de cette façon je me sens atterri dans cette exception. Essayez de différencier la clé primaire de la sous-classe et fournissez également une connexion par clé étrangère entre la super classe et la sous-classe. Vérifiez c'est un bon exemple qui est résolu: Spring 3.1 Hibernate 4 exception for Inheritance [cannot be cast to org.hibernate.mapping.RootClass]

+2

Oui, après avoir supprimé l'annotation @Id des sous-classes, cela a bien fonctionné. –

Questions connexes