有人知道如何从表中修改最后一行吗?例如:
我有一个带有“汽车”实体的服务生成器,该实体有一个名为“LastModified”的列。我想要一些能够获得“汽车”(最后一辆改装的购物车)的东西。
我不知道使用 where 子句创建查找器是否是一个好习惯。谢谢!
有人知道如何从表中修改最后一行吗?例如:
我有一个带有“汽车”实体的服务生成器,该实体有一个名为“LastModified”的列。我想要一些能够获得“汽车”(最后一辆改装的购物车)的东西。
我不知道使用 where 子句创建查找器是否是一个好习惯。谢谢!
首先,服务生成器实体默认有一个名为“modifiedDate”的列。只是想确保您知道这一点,因此您不会创建冗余列:“LastModified”和“modifiedDate”。
其次,您可以使用自定义 SQL 查询或动态查询来获取具有最近修改日期的 Car。两种方法都记录在案:
就个人而言,我会首先尝试动态查询方法(利用休眠的条件 API)。我认为它稍微简单一些。
在您的 finder 方法中,您可以执行以下操作:
Order order = OrderFactoryUtil.desc("modifiedDate");
DynamicQuery carQuery = DynamicQueryFactoryUtil.forClass(Car.class).addOrder(order).setLimit(0, 1);
List<Car> cars = CarLocalServiceUtil.dynamicQuery(carQuery);
setLimit(0, 1) 将查询结果限制为仅第一辆车。