我想在不生成 Java pojos 和 hbm.xml 文件的情况下创建 Hibernate SessionFactory/Session,有没有办法做同样的事情?
有什么方法可以动态创建 pojo 或 hbm 文件,以便我们可以进一步创建 SessionFactory 来获取 Session 并进行查询?
我不想在系统上生成 pojos 或任何 hbm 文件,如果有人有任何想法,请与我分享。
好吧,取决于您需要做什么,以下方法可能是一种解决方法。您可以在运行时创建一个 hbm.xml 文件,使用满足您需要的任何内容并将该文件保存到“已知”的位置。然后,您需要将该文件添加到Configuration
用于设置SessionFactory
.
Configuration hibConfiguration = new Configuration()
.addResource(<filepath to custom.hbm.xml>)
之后,您只需删除创建的文件并继续您正在做的事情。
我还没有尝试过,但我想它应该与拥有预定义的 hbm.xml 并在运行时进行所有实例化没有什么不同。
不幸的是,我不知道有任何其他方法可以在没有 hbm.xml 至少在短时间内击中光盘的情况下设置映射。
恐怕这是不可能的。您可能必须依赖 JDBC 才能做到这一点。
在 .NET 等价物 (NHibernate) 中,您仍然可以在代码中进行映射(即没有 xml 文件) - 但 POCO 需要存在。这称为“流利”配置,我怀疑是否有任何 Java 框架具有该功能。