为我的多表选择SQL创建hibernate映射XML

为我的多表选择SQL创建hibernate映射XML,hibernate,hibernate-mapping,Hibernate,Hibernate Mapping,我试图理解如何为单个select创建映射XML,该select从各个表检索各个字段 请参见下面的SQL(为了简单起见,我将检索每个表中的所有字段) 以下是表格定义 我的主表是表1,它与表2有一对一的关系。表1在表3和表4中可能有或可能没有相应的记录。表1、2和4中的id列具有相同的值。(例如,如果table1.id=34,如果table1在table3和table4中有记录,则table3.id和table4.id=34) 我一直在jboss.org网站上阅读HQL入门和基本o/R,但它并没有告

我试图理解如何为单个select创建映射XML,该select从各个表检索各个字段

请参见下面的SQL(为了简单起见,我将检索每个表中的所有字段)

以下是表格定义

我的主表是表1,它与表2有一对一的关系。表1在表3和表4中可能有或可能没有相应的记录。表1、2和4中的id列具有相同的值。(例如,如果table1.id=34,如果table1在table3和table4中有记录,则table3.id和table4.id=34)

我一直在jboss.org网站上阅读HQL入门和基本o/R,但它并没有告诉我如何为上面的SQL创建hibernate映射XML


谢谢!:)

为Hibernate编写有效的

读者关注的几件事是:

  • XML类映射
  • 关系类型
在你的例子中,我们有四个表。应该以某种方式将数据连接起来

所以第一步是为所有表创建POJO类,并为简单属性创建XML映射

模型应该是这样的

class A {
  int id; 
  String code;
  B b
  C c;
  D d;
} 

class B {
  int id;
}

class C {
  int id;
}

class D {
  String code;
}
映射

连接A和B

然后我们映射表C(a.id=b.id(+))

我们映射表D(a.code=c.code(+))


更适合ER图。但是我会尝试回答这个问题。这里没有ER工具:/但是如果有帮助的话,我添加了更多信息。我知道添加的信息很简单,但我希望你能理解。
table1 (
    id int,
    code varchar2(255)
)

table2 (
    id int,
    some_column1 varchar2(255)
    some_column2 varchar2(255)
)

table3 (
    code varchar2(255),
    description varchar(512)
)

table3 (
    id int,
    url varchar(1024)
)
class A {
  int id; 
  String code;
  B b
  C c;
  D d;
} 

class B {
  int id;
}

class C {
  int id;
}

class D {
  String code;
}