Ejb3Configuration.addPackage()找不到实体

时间:2011-07-21 12:57:20

标签: hibernate jpa entitymanager

我想在创建EntityManagerFactory时以编程方式添加已知的JPA实体。 所以我有这个序列(Hibernate 3.6)

 Ejb3Configuration ejbConf = new Ejb3Configuration();
 ejbConf.configure("TestPU", null);
 ejbConf.addPackage("org.jboss.jawabot.irc.ent");
 ejbConf.addPackage("org.jboss.jawabot.irc.model");
 emf = ejbConf.buildEntityManagerFactory();

我也尝试在configure()之前调用addPackage()。 添加包很好。 但是,Hibernate没有找到实体。当我坚持下去时,我得到:

  

未知实体:org.jboss.jawabot.irc.model.IrcMessage

怎么了?如何让Hbernate识别这些包中的实体?

谢谢, Ondra

更新:项目为here 有点乱,因为我在尝试一些技巧。

请注意,应用程序的“核心”模块(jar)中的实体将被选中。

1 个答案:

答案 0 :(得分:0)

anwser是,addPackage()的目的只是告诉Hibernate考虑给定包的注释,来加载它的实体。

更多,Ejb3Configuration将弃用4.0,而不是EntityManagerFactoryBuilder,请参阅https://hibernate.onjira.com/browse/HHH-6159