物理数据库模型
实体模型
我有2个数据库表A和B.在实体模型A中有三个子节点A1,A2,A3。 A2和A3与B实体有关系,因此这些关系在这些类中分别用相同的属性名定义。
我想用Hibernate标准查询A记录,在bField上添加限制。在bField上添加别名时,在本机查询中有两个具有相同别名的联接。这会导致ORA-00918: column ambiguously defined
错误。
criteria.createAlias("bField", "b");
criteria.add(Restrictions.eq("b.x", givenValue));
这样的原生查询
select * from A a inner join B b on b.id=a.b_id inner join B b on b.id=a.b_id where b.x = ?;
在hibernate条件文档中,我没有看到具有相同属性字段名称的实体继承的任何限制。这是Hibernate标准的正常行为吗?
任何帮助表示感谢,提前谢谢。