Java Hibernate:生成动态POJO类&;运行时映射文件
我正在寻找一种在运行时使用XML映射文件生成hibernate类的方法。Java Hibernate:生成动态POJO类&;运行时映射文件,java,hibernate,dynamic,jboss,Java,Hibernate,Dynamic,Jboss,我正在寻找一种在运行时使用XML映射文件生成hibernate类的方法。 例如,使用hibernate可以比自己使用JDBC处理数据库节省更多的时间 假设我使用库生成了POJO.java类、.class(字节码)及其具有正确语法的.hbm.xml映射文件,hibernate是否会自动识别它而无需任何其他配置,或者此过程必须在启动时完成,并且需要重新启动应用程序? 如果是这样的话,启动时要做的额外步骤是什么?我可以在运行时做吗 我搜索了很多,读了很多,但是如果我需要在类生成阶段之前连接和处理数据库
例如,使用hibernate可以比自己使用JDBC处理数据库节省更多的时间 假设我使用库生成了POJO.java类、.class(字节码)及其具有正确语法的.hbm.xml映射文件,hibernate是否会自动识别它而无需任何其他配置,或者此过程必须在启动时完成,并且需要重新启动应用程序?
如果是这样的话,启动时要做的额外步骤是什么?我可以在运行时做吗 我搜索了很多,读了很多,但是如果我需要在类生成阶段之前连接和处理数据库的一些表呢 我也读过关于蚂蚁任务和春季Roo的书,但仍然不知道该去哪里 以前有人处理过这样的事情吗
请提供您的建议,提前谢谢。我喜欢您正在尝试做的事情,因此当您说: hibernate会在没有任何额外配置的情况下自动识别它吗?或者这个过程必须在启动时完成,并且需要重新启动应用程序 Hibernate将识别它,但需要对Hibernate.cfg文件进行额外的修改,即,您需要为每个实体添加映射属性,这需要重新启动应用程序
为了避免重新启动服务器,我只能想象在运行时将应用程序部署到第二台服务器上——在生成所需资源后,如果第一次启动可以在后台进行,这会使事情变得更好。Hm,我认为这没有意义。你的程序必须在compiletime知道类,否则你无法在程序中使用它们。如果你想做Graal(但你将独自理解和维护它),你可以重新定义一个类加载器,当它检测到缺少一个类时,该类将具有你想要提供的实体的名称,创建一个临时的自定义Java源文件(通过解析和理解XML文件的愿望),使用JDK 6提供的内部JavaCompiler类对其进行编译,然后提供它,就好像我是在程序启动时由jar提供的一样。但要注意:这是可行的(真的:它应该会起作用),但对于初学者或中级开发人员来说是不可能实现的。