我在MySQL中有一个视图,它在Schemas和Properties之间加入1- *。 视图工作正常。当我在MySQL工作台中运行查询时,我得到了预期的结果。
但是,当我使用HQL在我的Java程序中运行相同的查询时,将返回预期的行数,但只有第一行包含数据。第一行是正确的,内容方面。
我的代码相当简单(我希望......)。在调试中单步执行我可以看到queryResult.list有正确的#行,我希望为输入objectIdentifier(模式)返回,但只有第一行有on对象。其余的都是空的。每个连接属性应该有一行。正如我所说,行数是正确的。
public List<SchemaAndPropertiesResolvedNames> getSchemaAndPropertiesResolvedNamesView(
String schemaAndPropertiesResolvedNamesId, ServiceHeaderVO context)
throws DALException {
List<SchemaAndPropertiesResolvedNames> result = new ArrayList();
try{
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
String hql = "FROM SchemaAndPropertiesResolvedNames schemaandpropertiesresolvednames WHERE schemaandpropertiesresolvednames.objectIdentifier =:objectIdentifier";
Query queryResult = session.createQuery(hql);
queryResult.setParameter("objectIdentifier", schemaAndPropertiesResolvedNamesId);
List<SchemaAndPropertiesResolvedNames> listrows = queryResult.list();
Iterator iterator = listrows.iterator();
while (iterator.hasNext()) {
SchemaAndPropertiesResolvedNames obj = (SchemaAndPropertiesResolvedNames) iterator.next();
result.add(obj);
}
session.getTransaction().commit();
return result;
它似乎部分工作到它在queryResult中总是具有正确的行数(如果我尝试使用不同的objectIdentifiers作为输入)。只是他们没有与第一个人分开。
视图的内容是否导致此问题?
令人讨厌的是我可以宣誓它早些时候工作了。然后我继续在其他地方进行其他更改,但是当我再次测试它时就出现了这个问题。
有什么建议吗?这是我第一次使用HQL。