我自己实现了LinqToHqlGeneratorsRegistry,以便在我的模型中使用规范模式。我可以对对象和查询使用规范,不重复代码(参见示例)。您可以看到所有的代码。除了一种情况外,我的代码在所有情况下都能正常工作。如果规范包含InvalidCastException变量,我得到了DateTime。
public class Client
{
public static readonly Specification<Client> IsMaleSpecification = new Specification<Client>(x =
下面是我的hql:
update User set count = count + ?2 where id = ?1
下面是异常详细信息:
org.hibernate.hql.internal.ast.QuerySyntaxException: expecting OPEN, found '+' near line 1, column 71 [update com.yitaosoft.edm.common.persist.entity.User set count = count + ? where id = ?]
at org.hibernate.hql.intern
在运行以下代码片段时
String hqlCount = "select count(*) from person";
int count = (Integer)sess.createQuery(hqlCount).uniqueResult();
我得到了这个异常
org.hibernate.hql.ast.QuerySyntaxException: person is not mapped [select count(*) from person]
org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPer
在case when语句中执行HQL子查询时我遇到了问题。
这是我的代码:
select case when a.entityId is null then 'invalid' else
(select b.entityName from tblName b where b.entityId =a.entityId)
end from tblEntity a
谢谢你的帮助!
好的..。这是完整的堆栈跟踪
ERROR org.hibernate.hql.PARSER - <AST>:0:0: unexpected AST node: query
Exc
我在SELECT中有以下JPQL/HQL片段
...
MAX(CASE WHEN scf.finalScore = 20 OR scf.finalScore = 0 THEN NULL ELSE scf.finalScore END) AS hi,
MIN(CASE WHEN scf.finalScore = 20 OR scf.finalScore = 0 THEN NULL ELSE scf.finalScore END) AS lo,
...
找出最高分和最低分。如果(scf)的得分或得分是20或0,那么这是一个具有特殊结果的游戏,对于MIN和MAX,这是可以忽略的。
Hiberna
我正在使用InfinisPAN6.0,我想使用Infinispan的查询DSL进行搜索。
我看到Hibernate DSL中的analyze.YES将有意义地分析文本字段,所以我想使用它搜索标题和字幕。
下面是设置属性的代码:
public Properties getProperties()
{
Trace.start("Starting to set the properties.");
SearchMapping mapping = new SearchMapping();
mapping.entity(DatatypeProperty.class
我想用hibernate查询从数据库中检索一个值,
这是我的java片段
String hql="select groupid from group_details where groupname= :groupname and clientid= :clientid";
Query query=session.createQuery(hql);
query.setParameter(groupname, groupname);
query.setParameter(clientid, clientid);
int result = (i
为这个SQL (Oracle)创建一个HQL语句有问题。
SELECT
CASE WHEN Column1 = 'VALUE1' THEN (
SELECT COL2 FROM Table1
) ELSE
Column3
END
FROM TABLE2 WHERE Columnx = 'something that is unique'
HQL看起来更像一样。问题在于在这种情况下嵌套的select。
错误:
java.lang.NullPointerException
at org.hibernate.hql.ast.tree.CaseN
是什么原因导致hibernate试图解析包路径,同时也会失败:
Exception in thread "Timer-9" org.hibernate.QueryException: could not resolve property: codeto of: citylist_AUD [select new list(ee, e) from citylist_AUD ee, ee.codeto.wes.Citylist_AUD e where ee.originalId.citylist_id = e.originalId.id and ee.originalId.Road_
我有两个模型,Item和ShopSection。他们有一个多对多的关系。
@Entity(name = "item")
public class Item extends Model
{
@ManyToMany(cascade = CascadeType.PERSIST)
public Set<ShopSection> sections;
}
@Entity(name = "shop_section")
public class ShopSection extends Model
{
public List<Item&
我遇到了SQL的问题。
假设这是我的原生SQL:
SELECT * FROM products
ORDER BY balance <= bottleneck DESC, product_code ASC
这是在postgressql上工作的。但它不能与HQL一起工作。我的HQL如下:
from Products as p order by p.balance < p.bottleneck desc, p.productCode asc
我遇到了如下异常:
Exception in thread "main" org.hibernate.hql.ast.Query
可以像下面的例子一样使用CaseBuilder吗?我们正在使用带有JPA / Hibernate设置的Querydsl。
public class Foo {
Bar bar
}
public class Bar {}
// query:
Expression<Boolean> isNull = new CaseBuilder()
.when(foo.bar.isNull()).then(false)
.otherwise(true)
new JPAQuery(em)
.from(foo)
.leftJoin(foo.bar)
.
当尝试为Order实体执行HQL批处理更新时,我将得到以下异常:
Specified method is not supported.
at NHibernate.Hql.Ast.ANTLR.PolymorphicQuerySourceDetector.GetClassName(IASTNode querySource)
at NHibernate.Hql.Ast.ANTLR.PolymorphicQuerySourceDetector.Process(IASTNode tree)
at NHibernate.Hql.Ast.ANTLR.AstPolymorphicPr
严重:对于带有路径[org.hibernate.hql.internal.ast.QuerySyntaxException:引发异常的servlet上下文中的Servlet.service(),没有将Servlet.service()映射到具有根本原因的考勤a a.status=:status]。
org.hibernate.hql.internal.ast.QuerySyntaxException: attendance is not mapped
at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireC
在我的项目中,使用JPA1.0和Hibernate 3.2.x以及Tomcat进行部署。
在我的项目中,我使用了以下查询作为命名查询执行,
SELECT smSSTJob.smJob.jobId, smSSTJob.smJob.jobTypeId, smSSTJob.omObject.objectId,
smSSTJob.omObject.objectName FROM SMSSTJob smSSTJob
WHERE smSSTJob.smJob.jobTypeId IN (:jobTypeIdList)
AND smSSTJob.jobStatusId IN (:jobStatusLi
我在NHibernate 3.1中有一个linq查询
var q = from Person p in SessionInstance.Query<Person>()
select p;
return q.ToList();
它有以下错误:“不支持指定的方法"。
有什么问题吗?
Stacktrace是:
at NHibernate.Hql.Ast.ANTLR.PolymorphicQuerySourceDetector.GetClassName(IASTNode querySource)
at NHibernate.Hql
我需要通过NHibernate 4运行这个查询:
var filterList = new List<string> { "1" , "2" } ;
var q = SessionInstance.Query<Book>()
.Where(x => filterList.Any(s => s.StartsWith(x.Code)));
var list = q.ToList();
但这条消息有例外:Specified method is not supported.
StackTrace :
at NHi
在我的项目(java 2,hibernate)中,我希望在两个表之间选择与联接。
Class User {
private int userId;
private String userName;
private String dateOfBirth;
}
Class Bill {
private int billId;
private String dateOfBill;
private Double moneyOfBill;
private User user;
}
当我直接尝试在localhost DB中使用sql时,就可以了。
Select * From
我有一个产品数据库。我创建了一个简单的Hibernate项目来检索数据库中的所有产品。但是,在编译代码时,我得到了以下异常:
产品没有映射
Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Product is not mapped [SELECT p FROM Product p]
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.con
我在编写Hql查询时遇到了一个问题。
我有一个名为MyTable的mysql表,它的列名为Id、Column1、Column2和Type.所有字段均为整型。
select查询基于“Type”列中的值。如果“类型”列中的值为0,则基于Column1中的select查询的值。如果类型列中的值为1,则select查询将基于column2中的值。
我已经使用'case when then‘is SQL成功地编写了查询。但是当用作Hql查询时,相同的查询会给出异常
SQL查询:
select * from MyTable where case when Type=0 then Column1=
我使用的是Hibernate 4和Postgres
下面的查询是两个表的连接,其中我需要将varchar列转换为整数列,以便按顺序检索某些值。HQL支持这一点吗?THe文档是这么说的,但我得到的异常如下
Query query = session.createQuery("SELECT DISTINCT a.attributeName, a.displayName, CAST(a.seqNo AS INTEGER) FROM Entitydefinitionconcrete a, Entitymasterconcrete b WHERE (a.entityTypeId=b.concr
我使用的是hibernate 5.1.0最终版。没有Spring、Struts、Application Server ...
当我从同一个包中运行我的方法时,我没有得到这个错误。但是当我从其他包中调用这个方法时,我得到了这个错误。
Exception in thread "main" java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
at org.hibernate.hql.internal.ast.HqlSqlWalker.generateNamedParameter(HqlSqlWalker.
嗨,StackOverflow社区,
我在HQL查询方面有问题。对于金融应用程序,我们希望获得基于给定的TradeTicket实体的StrategyInstrument实体。以下是定义的实体(省略了详细信息,只显示了关系)。
@Entity
public class Trade {
@ManyToOne
private Ticket ticket;
@ManyToOne
private Order buyOrder;
@ManyToOne
private Order sellOrder;
...
}
@Entity
public
在这里,我试图做一个不区分大小写的搜索列“代码”,基于一个字符串集合。但在SQLFunctionRegistry.java下的HQL验证过程中,它失败了。
我用的是Oracle DB。
@Query(value = "SELECT A FROM A WHERE bro = :bro AND LOWER(code) IN :codes")
List<A> findByBroAndCodeIn(@Param("bro") boolean bro, @Param("codes") Collection<String> codes
我试图使用HQL执行如下查询,该查询使用本机SQL函数(dbms_lob.getlength):
def results = Attachment.executeQuery(
'select id, originalFilename, dbms_lob.getlength(a.fileBytes), dateCreated, createUserName '+
'from Attachment a where a.id not in '+
'(select attachmentId from SpecVersion sv