如何在休眠中动态添加实体?

我是一名Java开发人员。我使用的是 spring 4.0.1hibernate 4.2.21。我有一个类如下:

@Entity
@Inheritance(...)
public abstract class Feature{
   @Id
   @GeneratedValue
   protected Long id;

   ...

}

现在我有一些很多类,如下所示:

标签.java类:

@Entity
public class Label extends Feature{
   protected String str;

   ...
}

要点.java类:

@Entity
public class Point extends Feature{
   protected Integer intg;

   ...
}

我有 20 多个从类扩展的实体类。有没有办法在不编写硬代码的情况下将此类(如 and )动态添加到项目中?FeatureLabelPoint

更新

例如,Hibernate 从数据库获取数据,然后根据此数据创建模型。

  1. 可能吗?
  2. 我该怎么做?

答案 1

我认为它不是一个好的数据库设计,需要动态更改。这听起来很冗长,并不一致。再次观察您的域,并尝试设计一个不会在运行时更改的适当实体关系。


答案 2

您可以尝试收集构建模型所需的数据,并为每个实体生成一个休眠文件(xml格式,并且在读取更新中描述的所需数据后易于使用java生成)hbm.xml

之后,您可以按照以下编程方式创建休眠配置对象 http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/session-configuration.html#configuration-programmatic

我认为通过这种方法,如果我很好地理解你的问题,你可以实现你想要的。


推荐