- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个以下要求,即查找当前位置范围内的所有商店。 为此,我使用以下查询:
SELECT NEW com.slocamo.rest.entity.Store(s,(((acos(sin((:lat*pi()/180))*sin((location_latitude*pi()/180))+cos((:lat*pi()/180))*cos((location_latitude*pi()/180)) * cos(((:lng - location_longitude)*pi()/180))))*180/pi())*60*1.1515) as distance) FROM Store s group by distance having distance < (:rangeInMeters * 0.00062137119) order by distance ASC
When I execute the query, it is throwing below error
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'distance' in 'group statement'
I have made the distance column as transient.
如何使“距离”可见,或者是否有其他方法可以实现此目的。
提前致谢
Belw is my Store class.
package com.slocamo.rest.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Transient;
@Entity
@Table(name = "stores")
@NamedQueries({
@NamedQuery(name = "searchStore", query = "SELECT distinct s FROM Store s where LOWER(store_title) "
+ "like LOWER(:searchString) OR LOWER(store_address) like LOWER(:searchString) OR LOWER(store_city) "
+ "like LOWER(:searchString) OR LOWER(store_state) like LOWER(:searchString) OR LOWER(store_country) "
+ "like LOWER(:searchString)"),
@NamedQuery(name = "searchStoreCount", query = "SELECT count(*) FROM Store s where LOWER(store_title) "
+ "like LOWER(:searchString) OR LOWER(store_address) like LOWER(:searchString) OR LOWER(store_city) "
+ "like LOWER(:searchString) OR LOWER(store_state) like LOWER(:searchString) OR LOWER(store_country) "
+ "like LOWER(:searchString)"),
@NamedQuery(name = "getStoresMapIfLocKnown", query = "SELECT NEW com.slocamo.rest.entity.Store(s,(((acos(sin((:lat*pi()/180))*sin((location_latitude*pi()/180))+cos((:lat*pi()/180))*cos((location_latitude*pi()/180)) * cos(((:lng - location_longitude)*pi()/180))))*180/pi())*60*1.1515)) FROM Store s group by distance having distance < (:rangeInMeters * 0.00062137119) order by distance ASC") })
public class Store {
public static final String SEARCH_STORE = "searchStore";
public static final String SEARCH_STORE_COUNT = "searchStoreCount";
public static final String GET_STORES_MAP_IF_LOC_KNOWN = "getStoresMapIfLocKnown";
public Store() {
}
public Store(Store s, Double distance) {
this.setDistance(distance);
this.idstore = s.idstore;
this.is_active = s.is_active;
this.location_latitude=s.location_latitude;
this.location_longitude = s.location_longitude;
this.postal_code = s.postal_code;
this.store_address= s.store_address;
this.store_address2 = s.store_address2;
this.store_city = s.store_city;
this.store_contact = s.store_contact;
this.store_country=s.store_country;
this.store_county = s.store_county;
this.store_state = s.store_state;
this.store_title = s.store_title;
this.uid = s.uid;
}
@Id
private Long idstore;
@Column
private String store_title;
@Column
private String store_address;
@Column
private String store_address2;
private String store_city;
private String store_state;
private String store_country;
private Double location_latitude;
private Double location_longitude;
private Long uid;
// As it is not required to be displayed
// private Long idcredit_card;
private String store_contact;
private String postal_code;
private String store_county;
private Boolean is_active;
@Transient
private Double distance;
/**
* @return the idstore
*/
public Long getIdstore() {
return idstore;
}
/**
* @param idstore
* the idstore to set
*/
public void setIdstore(Long idstore) {
this.idstore = idstore;
}
/**
* @return the store_title
*/
public String getStore_title() {
return store_title;
}
/**
* @param store_title
* the store_title to set
*/
public void setStore_title(String store_title) {
this.store_title = store_title;
}
/**
* @return the store_address
*/
public String getStore_address() {
return store_address;
}
/**
* @param store_address
* the store_address to set
*/
public void setStore_address(String store_address) {
this.store_address = store_address;
}
/**
* @return the store_address2
*/
public String getStore_address2() {
return store_address2;
}
/**
* @param store_address2
* the store_address2 to set
*/
public void setStore_address2(String store_address2) {
this.store_address2 = store_address2;
}
/**
* @return the store_city
*/
public String getStore_city() {
return store_city;
}
/**
* @param store_city
* the store_city to set
*/
public void setStore_city(String store_city) {
this.store_city = store_city;
}
/**
* @return the store_state
*/
public String getStore_state() {
return store_state;
}
/**
* @param store_state
* the store_state to set
*/
public void setStore_state(String store_state) {
this.store_state = store_state;
}
/**
* @return the store_country
*/
public String getStore_country() {
return store_country;
}
/**
* @param store_country
* the store_country to set
*/
public void setStore_country(String store_country) {
this.store_country = store_country;
}
/**
* @return the location_latitude
*/
public Double getLocation_latitude() {
return location_latitude;
}
/**
* @param location_latitude
* the location_latitude to set
*/
public void setLocation_latitude(Double location_latitude) {
this.location_latitude = location_latitude;
}
/**
* @return the location_longitude
*/
public Double getLocation_longitude() {
return location_longitude;
}
/**
* @param location_longitude
* the location_longitude to set
*/
public void setLocation_longitude(Double location_longitude) {
this.location_longitude = location_longitude;
}
/**
* @return the uid
*/
public Long getUid() {
return uid;
}
/**
* @param uid
* the uid to set
*/
public void setUid(Long uid) {
this.uid = uid;
}
/**
* @return the store_contact
*/
public String getStore_contact() {
return store_contact;
}
/**
* @param store_contact
* the store_contact to set
*/
public void setStore_contact(String store_contact) {
this.store_contact = store_contact;
}
/**
* @return the postal_code
*/
public String getPostal_code() {
return postal_code;
}
/**
* @param postal_code
* the postal_code to set
*/
public void setPostal_code(String postal_code) {
this.postal_code = postal_code;
}
/**
* @return the store_county
*/
public String getStore_county() {
return store_county;
}
/**
* @param store_county
* the store_county to set
*/
public void setStore_county(String store_county) {
this.store_county = store_county;
}
/**
* @return the is_active
*/
public Boolean getIs_active() {
return is_active;
}
/**
* @param is_active
* the is_active to set
*/
public void setIs_active(Boolean is_active) {
this.is_active = is_active;
}
/**
* @return the distance
*/
public Double getDistance() {
return distance;
}
/**
* @param distance the distance to set
*/
public void setDistance(Double distance) {
this.distance = distance;
}
}
最佳答案
由于您的查询类型,您应该将命名查询声明为 NamedNativeQuery 而不是 NamedQuery。
我认为你的查询是SQL。 count(*)是一条SQL语句。
--->JPQL 的命名查询
--->SQL 的 NamedNativeQuery
请注意,您的查询必须遵循每种语言的语法。 SQL 和 JPQL 语法都有部分不同。
关于mysql - Hibernate:在查询中使用 "group by"时无法访问 "NEW constructor"中的聚合值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19890058/
我想在我的单元测试中模拟一个遗留对象。这是构造函数: public Class LegacyClass{ public LegacyClass(Object... obj) {
此处说明https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function函数对象实例的构造函数属性“指定创建对
有没有办法从子类中的构造函数分配在父类(super class)中声明的实例变量?我已经习惯使用 BUILD() 作为构造函数,但我想知道这是否是个好主意。 IE: use v6; clas
鉴于以下情况: type AStruct struct { m_Map map[int]bool } 在这种情况下,AStruct的实例在AStruct.m_Map初始化之前不能使用: m_M
我是 Android 新手,我正在尝试学习如何使用 Gson 解析 API 调用。我已经阅读了一些内容,我正在尝试遵循这个示例:http://www.javacodegeeks.com/2011/01
我正在阅读 this文章,我不知道下面这行是做什么的。即使我删除了这一行,我也看不出有什么不同。 this.constructor.prototype.constructor.apply(this,A
这个问题已经有答案了: JsonMappingException: No suitable constructor found for type [simple type, class ]: can
我正在处理我的第一个 Flutter 项目,我正在构建一个登录页面,我创建了一个变量来存储一个 TextFormFieldController,但我收到了上面的错误,因为我删除了构造函数。当我返回这个
假设我们有以下主要和次要构造函数: open class Animal(val name:String){ internal constructor(message:InputStream): t
为什么默认复制构造函数不调用 monster 的基构造函数,但是当我在 troll 中包含一个用户定义的复制构造函数时,它会调用父级(即: 怪物) 构造函数? 我认为它的工作原理如下:创建基础对象,然
这个问题在这里已经有了答案: Is there a difference between foo(void) and foo() in C++ or C? (4 个答案) 关闭 8 年前。 我注意到
我将 T4MVC 与 MVC2 一起使用。 我有以下构建 block : 一个简单的实体接口(interface),它定义了每个 POCO 实体必须有一个 long Id属性(property): p
以下代码返回一个错误: “构造函数调用必须是构造函数中的第一个语句。” 我不明白。我的代码中的构造函数是第一条语句。我究竟做错了什么? public class labelsAndIcons exte
我是 kotlin 的新手,对它包含的所有有用的语法糖和功能感到惊讶。 但是每当我声明一个构造函数时,我都必须独立地将我的所有字段设为私有(private)。 class Result(private
作为主题,相关代码为: #include class ABC { public: ABC() { std::cout<< "default con
在 Haxe 中,我创建了一个名为 的类。我的类 喜欢: class MyClass { var score: String; public function new (score:
不确定为什么会这样,尝试删除所有 new 实例,从 const ect 切换到 let。可以运行站点,但是当我通过 html 表单运行发布请求时,在“const user = new UserSche
我是 Javascript 的新手,我正在尝试深入挖掘并理解继承、构造函数和原型(prototype)链。所以,我创建了一个构造函数, var a = function(){this.integer=
我知道 JavaScript 中的函数有双重生命,第一个是函数(作为创建实例的第一类事物),第二个是普通对象。 但是我很惊讶地看到下面控制台的输出。 function A() { consol
这个问题在这里已经有了答案: Why can't I access a property of an integer with a single dot? (5 个答案) 关闭 5 年前。 为什么
我是一名优秀的程序员,十分优秀!