[Hibernate]xDoclet生成hbm的一个bug

简介: 做示范中心项目时遇到的,类Teacher实现接口BusinessObject,在接口里用@hibernate.class,在类里用@hibernate.joined-subclass-key column="oid"和@hibernate.joined-subclass,执行ant任务时只生成了BusinessObject.hbm.xml,而且在里面没有关于Teacher的定义。

做示范中心项目时遇到的,类Teacher实现接口BusinessObject,在接口里用@hibernate.class,在类里用@hibernate.joined-subclass-key column="oid"和@hibernate.joined-subclass,执行ant任务时只生成了BusinessObject.hbm.xml,而且在里面没有关于Teacher的定义。为此折腾了好一阵,后在在网上找到一个贴子说的是同一个问题,还提供了一个patch,不过还没试好不好使,内容如下。(快该回家了,晚上继续写)

None.gif diff  - - 1   - - - r1. 20  HibernateTagsHandler.java
None.gif
---  HibernateTagsHandler.java    14  Jun  2003   13 : 58 : 10   - 0000        1.20
None.gif
+++  HibernateTagsHandler.java    3  Nov  2003   00 : 58 : 27   - 0000
None.gif@@ 
- 285 , 3   + 285 , 7  @@ public class HibernateTagsHandler
None.gif                 }
None.gif
-                  else   if  (clazz.getSuperclass()  !=   null   &&  clazz.getSuperclass().getQualifiedName().equals(typeName)) {
None.gif
+                  else   if  ((clazz.getSuperclass()  !=   null   &&
None.gif
+                     clazz.getSuperclass().getQualifiedName().equals(typeName))
None.gif
+                      ||
None.gif
+                     (getCurrentClass().isInterface()  &&
None.gif
+                     clazz.isImplementingInterface(typeName))) {
None.gif                     log.debug(
" is a subclass " );

现在决定不用这个patch的方法了,改源码得重新build,而且以后就不能用通用包了。暂时拿抽象类代替接口吧,差不多。

本文转自博客园八进制的博客,原文链接:[Hibernate]xDoclet生成hbm的一个bug,如需转载请自行联系原博主。

相关文章
|
SQL 关系型数据库 Java
使用Hibernate+MySql+native SQL的BUG,以及解决办法
  本来是mssql+hibernate+native SQL 应用的很和谐 但是到了把mssql换成mysql,就出了错(同样的数据结构和数据)。   查询方法是:   [java] view plaincopy   String sq...
1069 0
|
安全 Java 应用服务中间件
Java 近期新闻:Hibernate 6.0、JobRunr 5.0、JHipster 7.8.0、Spring CVEs、JReleaser 1.0-RC2
本期 Java 近期新闻综述内容涉及 JDK 19、Spring Boot、Spring CVEs、Apache Tomcat 点版本、Quarkus Tools for Visual Studio Code、Micronaut 3.4.1、JetBrains 加入 Micronaut 基金会、Open Liberty Paketo Liberty Buildpack、Hibernate 6.0、JobRunr 5.0、WildFly 26.1 Beta S2I 镜像、JReleaser 1.0-RC2、MicroStream 7.0-M2、JHipster 7.8.0、JMH 1.35。
777 0
|
4月前
|
存储 Java 数据库连接
Spring Boot 嵌入式服务器、Hibernate 关系和 Spring Data 全解析
Spring Boot 的嵌入式服务器功能是一项方便而强大的功能,它允许你在应用程序中直接运行 Web 服务器,无需将其部署到单独的独立 Web 服务器中。这使得开发、测试和部署 Web 应用程序变得容易,而且它还是轻量级的、易于启动和停止的,易于配置。
64 0
|
4月前
|
XML Java 数据库连接
Hibernate与Spring整合实践实例
Hibernate与Spring整合实践实例
31 0
|
7月前
|
存储 Oracle Java
[亲测可用]hibernate调用Oracle存储过程|Spring Data JPA调用Oracle存储过程方法
[亲测可用]hibernate调用Oracle存储过程|Spring Data JPA调用Oracle存储过程方法
|
9月前
|
Java 数据库连接 数据库
JAVA三大框架Struts、hibernate和spring的各自作用是什么?
JAVA三大框架Struts、hibernate和spring的各自作用是什么?
47 0
|
XML Java 关系型数据库
Spring 项目快速整合 Hibernate
前言 Hibernate 作为前些年广为流行的 ORM 框架,Spring 在诞生之初也进行了支持,并且抽象出一个 spring-orm 模块。
418 0
|
JavaScript Java 数据库连接
spring对hibernate的集成中的回调(CallBack)机制
spring对hibernate的集成中的回调(CallBack)机制
164 0
spring对hibernate的集成中的回调(CallBack)机制
|
Java 数据库连接 API
Spring整合Hibernate JPA
Spring整合Hibernate JPA
79 0
|
SQL Java 数据库连接
Java Web Spring核心之AOP的解析及实战(AOP的实现、切入点、Aspect Spring的持久化 Hibernate)
Java Web Spring核心之AOP的解析及实战(AOP的实现、切入点、Aspect Spring的持久化 Hibernate)
170 0
Java Web Spring核心之AOP的解析及实战(AOP的实现、切入点、Aspect Spring的持久化 Hibernate)