问题标签 [hbm2java]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 变得严重:在获取 sessionfactory 时无法在 JNDI 中找到 SessionFactory
我使用休眠作为持久层与数据库进行通信。我使用maven插件hbm2java生成dao、java、*hbm.xml和hibernate.cfg.xml。直到那个时候插件工作正常。
但是当我尝试与 db 通信时,它会出现以下异常。
默认情况下 hibernate3:hbm2cfgxml 生成 hibernate.cfg.xml 文件,其会话工厂名称为 SessionFactory。就像下面一样。
插件生成以下代码以获取会话工厂。
我使用 eclipse Hibernate 插件发现了类似的查询问题 - 无法在 JNDI 中找到 sessionfactory。
但是,更改插件生成的 400 多个类以从 *Home.java 获取会话工厂是不可行的。
如何在不更改 400 多个类的情况下使用 hibernate 插件解决这个问题?
我不想使用任何网络/应用服务器,这是我的独立应用程序。
java - 休眠 hbm2java
我正在通过 Eclipse 中的休眠代码生成来生成带注释的 pojo。类生成得很好,但是视图类是由@EmbeddedId 组成的,我不希望这样。我想直接在这个类中有属性。我在生成对话框中找到了一个选项“生成基本类型的复合 ID”,但是当我取消选中它时,它也会生成带有 @EmbeddedId 的视图类,但不会生成相应的 Id 类。有没有办法在没有@EmbeddedId 的情况下生成这些类?
java - 是否应该更改休眠生成的代码以适应需要?
在我看来,自动生成的代码一般/首选不应该手动更改,因为我们无法重新生成任何东西。但是一位经验丰富的 hibernate 用户告诉我,他总是会更改 hbm2java 生成的代码以满足他的需要。“适合需求”也很重要,所以我不确定这个主要好处是否。
hibernate - Hibernate 错误:在 hbm2java 代码上混合可空和不可空属性
我正在使用目标hibernate3-maven-plugin
查询 Oracle10g 数据库并生成带有 JPA 注释的 java 类hbm2java
。然后我使用spring来配置一个扫描注解代码的会话工厂。
在与. hbm2java
_
数据库定义表 FOO 和 BAR 如下:
所以表 FOO 有两列是表 BAR 的外键。FOO.STATUS_CODE 列必须为非空,但 FOO.REASON_CODE 列可能为空。这里的逻辑是 FOO 需要一个状态,但不是每个状态都需要一个原因。
表 BAR 具有列 BAR.REASON_CODE 和 BAR.STATUS_CODE,它们都是非空的。这里的逻辑将各种(但不是全部)状态代码的原因联系起来。因此,例如,如果状态为“已取消”,则原因可能是“欺诈”、“无能”等。
请注意,诸如“活动”之类的状态没有任何关联的原因,因此在表 BAR 中不存在,但它可以作为状态代码出现在表 FOO 中(没有关联的原因代码)。但是,如果 FOO 中的一行具有“已取消”状态代码,则它还必须具有表 BAR 中为该状态定义的原因代码之一。
所以表定义对我来说似乎很好(尽管我不是数据库专家)。
现在hbm2java
maven 中的目标为表 FOO 生成以下代码:
请注意,这里只有 STATUS_CODE 列不可为空。
但是,当创建休眠会话工厂 bean 并扫描带注释的类时,会生成“不允许在属性中混合可空和不可空列”异常。
问题
这是休眠注释处理代码引发的有效错误(在这种情况下,数据库中的表定义需要更改),还是无效?如果是后者,我可以将会话工厂代码配置为忽略此类错误吗?
配置
Maven依赖:
- org.hibernate/hibernate-core/3.5.6-Final
- org.hibernate/hibernate-annotations/3.5.6-Final
- org.springframework/spring-orm/3.1.2-RELEASE
Spring应用程序上下文:
java - Hibernate Hbm2Java 生成具有无效数据类型的 POJO
我是 Hibernate 的初学者,对其内部结构知之甚少。我正在通过 Hibernate 的工具Hbm2Java从 xml 模式生成 POJO 。当我运行该工具时,它会通过我的模型(xml 模式)并生成相应的 POJO。但是当我打开生成的文件时,POJO 中的成员具有无效的数据类型,这不允许我编译代码。我还有一个Hbm2Ddl任务,它为同一模型生成 .sql 文件。Hbm2Ddl 根据需要生成 .sql 文件。什么可能是错的?
下面是生成的 .java 文件的样子。
我怎样才能找到为什么会发生这种情况?
hibernate - 在 Hibernate hbm 文件中使用 EnumType 时找不到枚举类
我正在使用 hbm 文件通过 Ant 任务使用 hbm2java 生成我的 POJO 对象。我正在尝试在我的 XML 中使用 org.hibernate.type.EnumType 将一些硬编码值更改为 Enum:
我第一次尝试运行 hbm2java 导致 MyEnum 出现“找不到枚举类”。我意识到我需要将我的类添加到我的 ant 文件中的类路径中:
这次一切正常,但事实证明这只是因为我已经将所有内容编译${src.dir}
到${build.dir}
. 如果我从“干净”状态开始,我会再次得到“未找到枚举类”,因为它具有循环依赖关系:为了编译代码,我需要 POJO。但为了获得 POJO,我需要编译后的代码。
我能想到的唯一解决方案是先编译 enum 包中的所有内容,然后运行 hbm2java,然后编译其余部分。
这对我来说似乎很奇怪,但这是最好的解决方案吗?还是有其他我没有想到的解决方案?例如,有没有办法让它查看我的源代码?
java - 将两个或多个休眠 hbm 文件映射到单个 java pojo 类
表 A 的 hbm.xml 文件,其在 MyClass 中的 pojo 类
表 B 的 hbm.xml 文件(它也有相同的 pojo 类“MyClass”)
这是 POJO 类
如何插入表格?我尝试了以下代码:
但在提交时它会引发以下异常
hibernate - 如何在 Netbeans 中为 Hibernate 生成 DAO?
我在一个我不熟悉的新项目中使用了很多新东西,我需要一些帮助。Netbeans 8.2 中的 Maven、Hibernate 和 Spring。我对 Netbeans 很熟悉,但其他的都是新的。
我一直在使用本教程作为参考来让事情顺利进行,我已经掌握了很多东西https://howtodoinjava.com/spring5/webmvc/spring5-mvc-hibernate5-example/
一切正常,我能够使用 Netbeans 向导生成映射和 POJO,这很好,但让我慢下来的一件事是 DAO。
有什么方法可以自动生成休眠的 DAO,所以有标准的 CRUD 功能,我可以添加 where 条件?
我看到了一些关于 hbm2dao 和 hbm2java 的东西,但它们只显示了 pom.xml 的片段,鉴于我在 Maven 上的时间有限,这还不足以让我理解。
这是我的 pom.xml 有人可以修改它,以便它可以生成 dao 并突出显示他们做了什么以及为什么?如有必要,也可以在 pom.xml 之外进行任何更改。
如果在 NetBeans 中有更好的方法可以做到这一点,我愿意接受其他选择,但我不想在混合中加入更多复杂性。