小编dov*_*mir的帖子

无法从字段名称有双下划线的 django 查询

无法从 django 查询字段名称有双下划线的地方。这是因为在 django 中查询语言__有其自身的含义

那么如何查询实际名称为 的字段"my__fyeild__name"呢?

template.fields.filter(my__fyeild__name="aaa")
Run Code Online (Sandbox Code Playgroud)

在数据库中,该列的名称带有两个下划线__,我不允许重命名该列。

django django-models django-orm

4
推荐指数
1
解决办法
1032
查看次数

优化SQL查询

我有一个怪物遗留查询,这是我的程序的核心,查询需要太多时间,什么是使其运行更快的最佳方法?我用的是oracle 11g

 SELECT   *
     FROM     ( SELECT  COUNT(*) AS countme,
                       string_value        ,
                       name                ,
                       property_id         ,
                       category_id
              FROM    ( SELECT DISTINCT a.string_value,
                                        a.name        ,
                                        a.property_id ,
                                        b.product_id  ,
                                        a.category_id
                       FROM             filter_criterias a
                                        JOIN product_properties b
                                        ON              (
                                                                          a.property_id = b.property_id
                                                         AND
                                                                          (
                                                                                           (
                                                                                                            isnumber(b.value)        IS NOT NULL
                                                                                           AND              isnumber(a.range_bottom) IS NOT NULL
                                                                                           AND              isnumber(a.range_top)    IS NOT NULL
                                                                                           AND
                                                                                                            (
                                                                                                                             a.range_bottom >a.range_top
                                                                                                            AND              b.value       >= a.range_bottom
                                                                                                            OR               a.range_bottom<=a.range_top
                                                                                                            AND              b.value       >= a.range_bottom
                                                                                                            AND              b.value       <=a.range_top
                                                                                                            )
                                                                                           )
                                                                          )
                                                         )
                                        JOIN PRODUCT_CATEGORY …
Run Code Online (Sandbox Code Playgroud)

sql optimization oracle11g

3
推荐指数
1
解决办法
318
查看次数

有多个结果时使用休眠Criteria.uniqueResult()

我有一个具有名称和创建日期的表USERS,以及一个api函数

T read(Criterion... criteria)
Run Code Online (Sandbox Code Playgroud)

通过我无法更改的标准进行搜索。

我的问题是该函数返回crit.uniqueResult(),但有时条件会给出许多名称(在这种情况下,我只需要具有最新日期的名称)。如何添加标准以确保仅返回最新名称?

public T read(Criterion... criteria){
  Criteria crit = getSession(false).createCriteria(this.type);
  for (Criterion c : criteria) 
  {
    crit.add(c);
  }
  T entity = (T)crit.uniqueResult();
  return entity;
}
Run Code Online (Sandbox Code Playgroud)

java database hibernate hibernate-criteria

2
推荐指数
1
解决办法
2万
查看次数

按日期升序排序,最后为空

我使用java和hibernate 3.2.5.ga.

我有一个带日期列的表.我想创建一个hql查询,它将按日期升序对结果进行排序,但会将空值放在最后.

通常我按日期排序asc首先返回空值,"NULL LAST"关键字不起作用.

我怎样才能做到这一点?

java sql hibernate hql

2
推荐指数
1
解决办法
2690
查看次数