草庐IT

java - org.hibernate.hql.internal.ast.QuerySyntaxException : table is not mapped

我有示例Web应用程序Hibernate4.3.5+Derby数据库10.10.1.1+Glassfish4.0和IDENetBeans8.0Beta。我有下一个异常(exception):Causedby:org.hibernate.hql.internal.ast.QuerySyntaxException:CUSTOMERVisnotmappedatorg.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:189)atorg.hib

java - hibernate HQL 查询 : How to set a Collection as a named parameter of a Query?

给定以下HQL查询:FROMFooWHEREId=:idANDBarIN(:barList)我使用Query对象的setInteger()方法设置:id。我想使用对象的List设置:barList,但是查看Hibernate文档和方法列表,我看不到要使用的明显选择.有什么想法吗? 最佳答案 使用Query.setParameterList(),Javadochere.有四种变体可供选择。 关于java-hibernateHQL查询:HowtosetaCollectionasanamedp

java - hibernate HQL 查询 : How to set a Collection as a named parameter of a Query?

给定以下HQL查询:FROMFooWHEREId=:idANDBarIN(:barList)我使用Query对象的setInteger()方法设置:id。我想使用对象的List设置:barList,但是查看Hibernate文档和方法列表,我看不到要使用的明显选择.有什么想法吗? 最佳答案 使用Query.setParameterList(),Javadochere.有四种变体可供选择。 关于java-hibernateHQL查询:HowtosetaCollectionasanamedp

java - Hibernate HQL Count Distinct 不起作用?

我有以下类(class):classUser{hasMany=[ratings:Rating]}classItem{hasMany=[ratings:Rating]}classRating{belongsTo=[user:User,item:Item]}我想统计对某个项目进行评分的不同用户。以下不起作用:selectcount(distinct(r.user))fromRatingasrwherer.item=:itemgroupbyr.user我必须如何修改HQL查询才能使其正常工作? 最佳答案 您的查询应该按预期工作,只需对您使

java - Hibernate HQL Count Distinct 不起作用?

我有以下类(class):classUser{hasMany=[ratings:Rating]}classItem{hasMany=[ratings:Rating]}classRating{belongsTo=[user:User,item:Item]}我想统计对某个项目进行评分的不同用户。以下不起作用:selectcount(distinct(r.user))fromRatingasrwherer.item=:itemgroupbyr.user我必须如何修改HQL查询才能使其正常工作? 最佳答案 您的查询应该按预期工作,只需对您使

java - Spring 数据 jpa。如果没有结果返回默认值,则查找最大值

我已经在我的spring存储库接口(interface)中实现了:@Query("SELECTmax(ch.id)FROMMyEntitych")LonggetMaxId();如果db不为空,它可以正常工作。如果我使用测试配置启动我的环境(使用H2DB)-一开始没有数据。getMaxId()返回的结果是null。我希望这里有0。是否可以修改我的*JpaRepository以获得0结果?如果是,应该如何修改? 最佳答案 你可以使用coalesce像:@Query("SELECTcoalesce(max(ch.id),0)FROMMyE

java - Spring 数据 jpa。如果没有结果返回默认值,则查找最大值

我已经在我的spring存储库接口(interface)中实现了:@Query("SELECTmax(ch.id)FROMMyEntitych")LonggetMaxId();如果db不为空,它可以正常工作。如果我使用测试配置启动我的环境(使用H2DB)-一开始没有数据。getMaxId()返回的结果是null。我希望这里有0。是否可以修改我的*JpaRepository以获得0结果?如果是,应该如何修改? 最佳答案 你可以使用coalesce像:@Query("SELECTcoalesce(max(ch.id),0)FROMMyE

spring - HQL查询两个日期之间的记录

我正在尝试在我的Spring/Hibernate应用程序中使用HQL查询所有在Date1和Date2之间具有DateAdded或在Date1和Date2之间具有LastSeen的客户记录,因此我在Repository/DAO类中构建了这个HQL查询:sessionfactory.getCurrentSession().createQuery("fromCustomercwherec.dateAddedBETWEEN'"+startDate+"'AND'"+endDate+"'ORc.lastSeenDateBETWEEN'"+startDate+"'AND'"+endDate+"'")

spring - HQL查询两个日期之间的记录

我正在尝试在我的Spring/Hibernate应用程序中使用HQL查询所有在Date1和Date2之间具有DateAdded或在Date1和Date2之间具有LastSeen的客户记录,因此我在Repository/DAO类中构建了这个HQL查询:sessionfactory.getCurrentSession().createQuery("fromCustomercwherec.dateAddedBETWEEN'"+startDate+"'AND'"+endDate+"'ORc.lastSeenDateBETWEEN'"+startDate+"'AND'"+endDate+"'")

java - 使用 hibernate 查询 : colon gets treated as parameter/escaping colon

returnsessionFactory.getCurrentSession().createQuery("FROMWeatherWHEREcity_id=:idANDdate"+"BETWEENnow()::dateANDnow()::date+(:days-1)").setInteger("id",city_id).setString("days",days).list();出现错误:org.hibernate.hql.ast.QuerySyntaxException:unexpectedtoken::如何在HQL中使用这种语法?基本上问题是我想在我的查询中使用冒号(:),但是当h