在搜索了SO和hibernate文档之后,我似乎找不到问题的答案(?)。每一个答案都会对我的问题有所帮助,这就是。
我刚开始使用hibernate hbm.xml映射文件,我的任务是用hbm.xml输出涉及许多表、联接、计数等的大而复杂的查询。
HQL代码已经完成并正在运行,除非请求新的函数/方法,否则我无法访问它,我可以打印每个表的所有使用表和hbm.xml映射,例如:
table1.hbm.xml:
<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC '-//Hibernate/Hibernate Mapping DTD 3.0//EN' 'http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd'>
<hibernate-mapping>
<class name="authorization.model.table1" table="table1">
<composite-id>
<key-property name="Id" type="long" column="Id" />
<key-property name="Sys" type="string" column="Sys" />
</composite-id>
<property name="Cod" column="Cod" type="long" />
</class>
</hibernate-mapping>结合我的输出代码,将打印一个列,其中包含id、sys和cod,来自DB上的table1。到目前为止,我还可以将来自两个不同表的列组合起来,打印描述(例如,来自table2的列和表1中的PK )。
问题是当我需要连接表并使用各种表和它们之间的关系打印更复杂的查询时。
我的问题是:我可以使用已经完成的SQL查询并生成hbm文件吗?
例如,我是否需要一个hbm文件来左转联接表,然后调用该文件(结果)。
对于这个模糊的问题我很抱歉,我也很困惑。
我可以发布我想要/需要映射的查询之一,映射所有表。
发布于 2019-01-10 11:39:47
好的,我找到了一个解决方案,对于有这个问题的其他人,我建议您从所有复杂的查询中创建一个视图到数据库中,然后将结果列和类型从该视图映射到hibernate hbm.xml中。
这样,就不需要在.hbm文件中使用复杂的基数。
https://stackoverflow.com/questions/54073288
复制相似问题