问答详情
源自:1-11 通过Hibernate API编写访问数据库的代码

unknown entity

我一开始用了hibernate5.0.6.final版本,跟教程一样的写法,会报unknown entity错误,但是换了4.3.11.final包之后就不报错了,有谁能解答这个问题吗?

提问者:Me_YJ 2016-01-08 22:57

个回答

  • 云端漫漫步
    2016-01-17 16:10:51

    StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder()
            .configure()
            .build();
     
    Metadata metadata = new MetadataSources( standardRegistry )
            .getMetadataBuilder()
            .applyImplicitNamingStrategy( ImplicitNamingStrategyJpaCompliantImpl.INSTANCE )
            .build();
     
    sessionFactory = metadata.getSessionFactoryBuilder()
            .build();

    从5.0.7 release的documentation里查找到的方法,实测可用。

    具体信息在:hibernate-release-5.0.7.Final\documentation\userGuide\en-US\html\ch03.html中可用详细查看


  • Its_forever
    2016-01-09 21:43:32

    http://img.mukewang.com/56910dd3000143ce05000195.jpg

    http://blog.csdn.net/u010150082/article/details/9527355

    你采用的注册方法,被取消了。应该是这个问题。

    hibernate5.0.6.final中的注册方法被取消了。

    4.3.11.final中的注册方法才是可以使用的。

    由于注册方法的错误,导致没读到Students配置问题,所以会报unknown entity错误


  • Its_forever
    2016-01-08 23:10:37

    你创建服务注册对象那儿的代码是怎么写的呢。

    是这样:
    ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();

    还是这样:

    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build();

    你看看这个问答嘛。http://www.imooc.com/qadetail/113700