0
我是hiberante的新手。需要指出正確的方向。hibernate遍歷表中滿足多表的所有行加入
我需要遍歷表中的所有記錄「target_table」那裏有基於其他表
的SQL提供所需的數據記錄的附加約束是
select target_table.id, ....
from person,
target_table,
another_table
where person.id = target_table.person_Id
and target_table.dropEventId = another_table.id
and another_table.to_Vendor_Timestamp < to_date('Jul 29 2012','MON dd YYYY')
and person.identifyer = 'foobar';
不知道什麼最好的方法獲取這些記錄。有人可以推薦適當的方法嗎? 此刻我開始的事情 沿
Criteria criteria = session.createCriteria(TargetTable.class);
Criteria personCriteria = criteria.createCriteria("person");
personCriteria.add(Restriction.equal("idenifyier",identifyier);
Criteria anotherTableConstriant = constriant.add("another_table");
anotherTableConstraint.add(Restriction.lessthan("toVendorTimeStamp", someDateObject);
線的東西,但我如何才能約束的其餘部分。
表目標有一個person_id列,它是人員表的外鍵。該人員記錄具有列標識符。我的where子句中t.person.identifier在執行時給了我引起:org.hibernate.QueryException:無法解析屬性:person:com ..... T任何想法會導致什麼,以及如何通過這個路障? – 2012-07-27 16:44:08
Adrian你是對的查詢。 「target_table.dropEventId」確實應該是「target_table.another_table_id = another_table.id」 – 2012-07-27 17:50:45
您是否試圖理解我在答覆中所說的內容?你恰恰是那種認爲HQL/Hibernate只是另一種形式的SQL/RDBMS的人。你有沒有試圖讓你的對象設計和OR映射正確? – 2012-07-28 15:57:31