我刚开始使用JPA,我想知道实现以下内容的最佳方法:我需要实现一个返回脚本列表的服务,并且每个脚本都有一个参数列表。我简化了查询,但它是这样的:
(SELECT
p.DESC
FROM
INPUT_PARAMETERS p
INNER JOIN SCRIPT_PARAMS sp ON p.PARAM_ID = sc.PARAM_I
INNER JOIN SCRIPT s ON s.SCRIPT_ID = sc.SCRIPT_ID
WHERE
s.NAME = 'name')
UNION
(SELECT
p.DESC
FR
我的第一个问题,伙计们!
所以我的查询在数据库中工作得很好,但是当我调用一个运行查询的methid时,抛出了一个异常。下面是代码。
@Override
public String lastID() {
String x = "SELECT TICKETNO FROM TICKET ORDER BY TICKETNO DESC";
return (String) em.createQuery(x).getResultList().get(0);
}
这是异常的一部分
Caused by: Exception [EclipseLink-0] (Eclipse Pe
假设我有这个字符串(它是一个JPQL查询-使用实体类正确替换表和列名)
//The actual string is auto-generated, but this is just an example:
String sql =
"select la.laNo,la.status " +
"from LA la " +
"where (la.cc,la.laNo) in (" +
"select lap.cc,lap.laNo " +
"from LAP lap " +
"where lap
我有一个更新查询,如下所示
UPDATE
table_name
SET
column_name = ?
WHERE
column_name = ? AND id in (?)
所以JPA事务是
em.createNativeQuery(Update_QUERY)
.setParameter(1, updatedStatus)
.setParameter(2, currentStatus)
.setParameter(3, ids)
.executeUpdate();
该方法的输入是列表id、currentStatus和updatedSta
我使用EclipseLink作为JPA实现,我需要使用主键(数字id)获取多个对象。但我也需要保持给定的id顺序。
使用本机mySQL可以通过ORDER BY FIELD获得这种行为。
SELECT id FROM table WHERE id IN(9,5,2,6) ORDER BY FIELD(id,9,5,2,6);
我现在正在尝试使用JPA实现复制这个查询。正如已经从中建立的那样,ORDER BY FIELD不受支持,所以我使用JPA native query进行了一种更低级别的方法。
我尝试使用参数查询来达到这个目标,而不是使用raw语句。第一个实现是这样的
Class<?&g
我的HTML页面上有四个选项列表,当选择这些选项时,我将检索数据。如何基于选择列表上的选择动态创建jqpl查询。
在我的例子中,有4个选项列表,用户可以从所有列表中选择选项,也可以选择它们的组合。在这种情况下,我该如何编写查询?
我的查询类似于
SELECT x FROM tablename x WHERE x.column1= :choice1 AND x.column2 = :choice2 AND x.column3 = :choice3 AND x.column4 = :choice4
我是爪哇和JPA的新人。我用命令
select * from asm.attendant where staff_no='0004' and node_code='KT1' and date(attendant_date) = '2013-05-13';
在MySQL中,它是工作的
但
当我在JPA中使用
public List<Attendant> listAttendantByStaffNoAndNodeCodeAndDateWs(String staffNo,String nodeCode,String attendan
日安,
我有一个奇怪的问题:
下面的语句起作用
查询q= em.createQuery("SELECT m from AccountClass as m");
而下面的语句并不
查询q= em.createQuery("SELECT m from AccountClass");
我正在尝试编写一条允许我使用where子句的语句;
感谢您阅读这篇文章。
我有一条SQL语句,SELECT foo FROM bar WHERE id IN %s。我有一个整数列表,例如[1, 2, 3],我想把它转换成一个看起来像SELECT foo FROM bar WHERE id IN (1, 2, 3)的SQL语句。
我使用SQLAlchemy核心实现它的连接池,并使一些带有多个VALUES子句的插入更易于编写和维护。我更喜欢用原始SQL编写我的大多数查询。
为了在Pyscopg2中做到这一点,我做了cursor.execute('SELECT .. WHERE IN %s', (tuple(my_list),))。然而,我无法在SQLAl
我偶然发现了JPA Eclipselink和PostgreSQL的一个非常奇怪的行为。
create table test(id bigint, name varchar(255))
insert into test values(1, "hello")
insert into test values(2, null)
Java EE实体Bean:
@Entity
@Table(name = "test")
public class Test implements Serializable {
@Id
@Column(name = "
我有一个jsp代码,它的查询如下
'select * from MyTable where
Column1='+request.getParameter('q'),
,它是从
java.sql.Statement。现在,假设我们可以通过使用
请求参数,我的目标是将查询更改为如下所示:
Select * from MyTable where Column1 = a; Delete from MyTable;
由于原始select查询是通过java.sql.Statement执行的,
我们如何做这样的sql注入呢?如果问题不清楚,请
评论,我将尝试提供进一步的解释
我需要通过以下查询从我的数据库中获取用户:
SELECT * FROM users
WHERE first_name = 'Aragorn'
AND last_name = 'SonOfAratorn'
AND city = 'Osgiliot'
AND country = 'Gondor'
问题是,在我的应用程序中,我经常会缺少城市或国家,或者两者都缺少。
我可以为此进行3到4个HQL查询,但这似乎不是一个非常有效的解决方案。
当这两个属性(城市和国家)中的一个或两个都为空时,有没有办法只有一个查询,以及如何将该查询转换为HQL
我正在使用eclipse indigo,并且遇到了"JPA验证问题“。
我的命名查询是:
from Person p where p.name = :name
并且有这样的错误:
The query does not start with a valid identifier, has to be either SELECT, UPDATE or DELETE FROM.
但它是一个有效的JPQL查询。有人知道怎样才能消除这个错误吗?
如果我将查询更改为
select p from Person p where p.name = :name
没有更多的错误,但我不想更改所有的查询。
谢
好的,简单地说,我已经完成了实际的JPQL,而没有首先使用任何参数,它看起来如下。
SELECT count(dt)
FROM transaction dt
WHERE dt.transactionType = 'TEST'
AND dt.date
BETWEEN FUNC('TO_DATE','01-2019','mm-yyyy')
AND FUNC('TO_DATE','02-2019','mm-yyyy')
这东西能用!但问题是,现在我需要将transactionTy
我是一个新的JPA,当我从复合基元键表中检索值时,我将面临异常。
例外说明:
Problem compiling [select t from ASSIGN_TASK_EMPLOYEE t].
[14, 34] The abstract schema type 'ASSIGN_TASK_EMPLOYEE' is unknown.
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1605)
以下是我的代码
@Entit
现在我正在使用JPA来访问数据库。我想要获取特定课程和特定课程中的评论,因此sql会这样:
select * from comment where (commentType, commentId) in (("course", "1"), ("lesson", 2))
我像这样使用注解@Query:
@Query("select c from Comment c where (c.commentType, c.commentId) in :attaches")
Page<Comment> findByAttachIn(
我有一个集合idsToCheck,我想做这样的事情
select a.entry from idsToCheck as a where a.entry not in (select d.id from data d)
我现在所做的是
@Query("select count(a) > 0 from Data a where a.id = :id")
boolean isIdExists(String id);
idsToCheck
.stream()
.filter(check-> !artifacts.isIdExists(check))
.fo
我正在创建定制的JPQL查询来获取一些数据。在某些情况下,我希望根据参数值是否为非空来添加where子句。 例如等价的sql查询: //If parameter status is not null.
SELECT sum(A.sal) FROM TABLE A WHERE A.STATUS = 'X' GROUP BY A.CURRENCY;
//else
SELECT sum(A.sal) FROM TABLE A GROUP BY A.CURRENCY; 有人能帮我一下吗?
我在GAE上使用JPA,这个查询返回一个包含1个元素的列表。这个元素是一个org.datanucleus.store.types.sco.backed.ArrayList (它最终包含了我的结果),而我期待的是一个产品列表。我做错什么了?提前鸣谢!
Query query = entityManager.createQuery
("select p.products from Place p where p.id = :Id" );
query.setParameter("Id",id);
List<Product>
在使用List<Long>时,可以将IN作为openJPA参数吗?
我使用的数据库是MySQL最新版本。我正在尝试的示例查询如下所示,并粘贴了我所得到的错误。请让我知道我需要做些什么才能让这件事奏效。
Select * from table t where c in (?)
.createNativeQuery(TOPIC)
.setParameter(1, listNo)
其中listNo是List<Long>。
错误
19:46:47,376 ERROR JBAS014134: EJB调用在组件TopicService上失败,用于方法公共抽象com.zrefle