草庐IT

Criteria

全部标签

java - Hibernate:session.get(EntityName.class, Id) 和使用 Criteria 之间的区别

到目前为止,我已经看到了两种从数据库(例如MySQL)检索对象的方法,一种是session.get(EntityName.class,Id);另一种是:criteria.add(Restrictions.eq('id',Id)).uniqueResult();当我想更新对象中的单个字段时,我发现第一种方式很方便,我可以使用setter更新对象然后提交事务,但我不确定这两种方式有什么区别。 最佳答案 Session.get()如果实例已经与session相关联,则返回该实例。条件总是转到数据库以获取特定行。除此之外,您可以发现的主要区

mysql - Propel Criteria::setLimit() 像 LIMIT 0,6

在我使用Symfony1.4/Propel1.4的查询中,出于分页目的,我需要像这样设置限制Page1:LIMIT0,6Page2:LIMIT6,6Page3:LIMIT12,6....&soon我试试$c->setLimit(6);正在生成LIMIT6我也没有找到具有两个参数或类似功能的setLimit方法来设置起始限制。这是非常常见的操作,我确定在Propel中必须可用,但直到现在我还无法弄清楚。有人可以建议如何设置所需的限制(LIMIT0,6) 最佳答案 您应该使用limit()和offset(),描述here.为了LIMIT

mysql - 列出按外键表中最常见的行衡量的前 5 名用户

这是我的数据库结构的图片:当我输入一个Observation时,我在Observations中输入了一行还有0、1或更多行到Criteria.我正在尝试编写一个SQL语句,它允许我选择在特定条件下最强的5位教师。例如,我会点击Questioning(在ID中可能有一个5的Criteria_Labels),我想返回5位教师的列表(来自Teacher_ID的Observations),他们拥有Criteria_ID=5的行数最多。在Criteria.我尝试写的声明如下:SELECTt.NameASTeacher_NameFROMobservationsoLEFTJOINteacherstO

java - 使用 Criteria 运行子查询时出现 ClassCastException (String to Long)

首先我的设置:mysql-connector-java5.1.24hibernate核心4.1.10.Final运行此标准查询时出现ClassCastException错误:CriteriasellableItemsCriteria=session.createCriteria(MarketData.class,"md");sellableItemsCriteria.add(Restrictions.in("region",regions));sellableItemsCriteria.add(Restrictions.in("itemTypeId",items));DetachedC

c# - 带有 NHibernate Criteria 的 HAVING 子句中的多个条件?

我正在尝试使用NHibernate的CriteriaAPI编写与此等效的内容:selectfoo_idfromfoo_historygroupbyfoo_idhavingsum(bar_in)>0orsum(baz_in)>0;使用此映射:和这个条件代码(分离因为它将是一个子查询):varresults=DetachedCriteria.For("fh").SetProjection(Projections.ProjectionList().Add(Projections.GroupProperty(Projections.Id())).Add(Projections.Sum("fh.

java - 如何构建具有多列的 CriteriaQuery 谓词 IN 子句?

给定一个Predicate用于CriteriaQuery,例如这个:Predicatepredicate=root.get(MyTable.col1).in("col1Val1","col1Val2");这是否可以扩展为使用多个ANDed字段,例如和下面的SQL一样吗?SELECT*FROMMyTableWHERE(col1,col2,col3)IN(("col1Val1","col2Val1","col3Val1"),("col1Val2","col2Val2","col3Val2")); 最佳答案 不太优雅的方法,使用JPA标准

java - 更新表的多行最快的方法是什么

我有一个名为messages的表,其中包含toUser、message和status列。我想更新特定用户消息的所有状态。所以,我写了这样一个查询,Sessions=DB.getSession();s.createSQLQuery("UPDATE`message`SET`status`='0'WHERE`toUser`='3'").executeUpdate();s.close();但是后来,有人告诉我使用纯hibernate方法更新更快更高效(我认为它必须对hibernate池做一些事情),如下所示。Sessions=DB.getSession();Transactiontr=s.be

php - 在 Yii 中将此查询转换为 CDbCriteria 格式

我仍在研究Yii1.x.x中CDbCriteria的全部功能-我有一个相当复杂的SQL查询,我想将其转换为在模型中使用CDbCriteria格式的查询(如果这可以用更复杂的查询。我最初的尝试..$criteria=newCDbCriteria;$criteria->select=array('t.classroom_id,title','COALESCE(COUNT(DISTINCTr.redeemed_code_id),0)AStotalRewards','COALESCE(COUNT(DISTINCTocm.user_id),0)AStotalStudents','COALESCE

java - 此查询是否可以使用 Criteria 或 DetachedCriteria Hibernate

问题很简单,能否使用Criteria或DetachedCriteria在Hibernate中完成此查询?我想不是,但我想做这个问题可能存在解决方法。SELECTCOLUMNSFROMtableWHEREidnotin(SELECT*FROM(SELECTidFROMtableWHERESOMECONDITIONSORDERBYtimestampdesclimit0,15)ast);我会将@DeanClark的回答标记为正确,但出现的另一个问题如下wherecanifindthefindByCriteriafromSessionFactorywearenotusingSpring

php - 在 yii 中检索具有条件的 CActiveDataProvider

我从yii开始,在尝试使用条件过滤CActiveDataProvider时遇到了一些麻烦。这是我的数据库模型:TableColumnsProject[id,name,status]userToProject[user_id,project_id,role]User[id,....]我希望index操作显示所有状态为已完成的项目或用户当前分配给该项目的位置。为了测试目的,对用户ID进行硬编码。这是我的代码:$criteria=array('order'=>'statusdesc','with'=>array('userToProject','userToProject.user'=>ar