【问题标题】:How to create SessionFactory in Hibernate without generating Java pojos and hbm.cfg.xml files?如何在不生成 Java pojos 和 hbm.cfg.xml 文件的情况下在 Hibernate 中创建 SessionFactory?
【发布时间】:2013-06-05 22:27:38
【问题描述】:

我想创建 Hibernate SessionFactory/Session 而不生成 Java pojos 和 hbm.xml 文件,有什么方法可以做到吗?

是否有任何方法可以动态创建 pojo 或 hbm 文件,即动态创建,以便我们可以进一步创建 SessionFactory 来获取 Session 并进行查询?

我不想在系统上生成 pojos 或任何 hbm 文件,如果有人有任何想法,请与我分享。

【问题讨论】:

标签: hibernate pojo


【解决方案1】:

恐怕这是不可能的。您可能必须依赖 JDBC 才能做到这一点。

在 .NET 等效项 (NHibernate) 中,您仍然可以在代码中进行映射(即没有 xml 文件) - 但 POCO 需要存在。这称为“流畅”配置,我怀疑是否有任何 Java 框架具有这种功能。

【讨论】:

  • 你可以在Java中使用注解,这样你就不用hbm.xml文件了;但这不是 on the fly 配置。
【解决方案2】:

根据您需要执行的操作,以下方法可能是一种解决方法。 您可以在运行时创建一个 hbm.xml 文件,使用满足您需要的任何内容并将该文件保存到“已知”的位置。然后您需要将该文件添加到用于设置您的SessionFactoryConfiguration

Configuration hibConfiguration = new Configuration()
.addResource(<filepath to custom.hbm.xml>)

之后,您只需删除创建的文件并继续您正在做的事情。

我还没有尝试过,但我想这应该与使用预定义的 hbm.xml 并在运行时进行所有实例化没有什么不同。

不幸的是,我不知道有任何其他方法可以设置映射,而 hbm.xml 至少在短时间内不会命中光盘。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 2014-07-06
    • 2019-08-16
    相关资源
    最近更新 更多