以编程方式添加实体

时间:2017-05-15 12:20:42

标签: java hibernate

我需要动态添加实体类(注释驱动,没有hbm文件)到持久性中。

我尝试过以下方法动态添加实体。

Configuration cfg = new Configuration()
                .addClass(org.entity.Person.class);

我收到了MappingNotFoundException:找不到映射(RESOURCE):org.entity.Person.hbm.xml

还有其他办法吗?

我经历过很多帖子,但我没有找到解决问题的确切方法。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

change_type方法查找映射文件

  

使用a的约定将映射作为应用程序资源读取   名为foo.bar.Foo的类由文件foo / bar / Foo.hbm.xml映射   可以解析为类路径资源。

http://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/cfg/Configuration.html#addClass-java.lang.Class-

如果要添加带注释的类,则应使用addAnnotatedClass

addClass

例如:

 public Configuration addAnnotatedClass(Class annotatedClass)
 // Read metadata from the annotations associated with this class.
 Parameters:
    annotatedClass - The class containing annotations
 Returns:
    this (for method chaining)