是否可以使用JPA或Hibernate注释显式指定要运行的查询以检索相关对象?
具体来说,我有以下实体:导师、学生以及导师与学生之间明确的OneToOne关系,教程:
@Entity
public class Student {
@OneToMany Collection<Tutorial> tutorials;
}
@Entity
public class Tutor {
@OneToMany Collection<Tutorial> tutorials;
}
@Entity
public class Tutorial {
@OneToOne Tuto
我知道我可以将列表传递给JPA中的命名查询,但是NamedNativeQuery呢?我尝试了很多方法,但仍然不能简单地将列表传递给NamedNativeQuery。有人知道如何将列表传递给NamedNativeQuery中的in子句吗?非常感谢!
NamedNativeQuery如下:
@NamedNativeQuery(
name="User.findByUserIdList",
query="select u.user_id, u.dob, u.name, u.sex, u.address from user u "+
我有一个类别树结构,使用带有eclipse链接的JPA。树中的每个类别都包括项目,我希望选择所有类别以及它们的项目计数。
我继承的代码用于计算离线项的数量,更新类别,并使用很酷的JPA技巧来选择类别,如下所示:
@Entity
@Table(name = "categories")
@NamedNativeQuery(name = "topLevel", query = "SELECT categories.* FROM categories WHERE categories.parent_id IS NULL")
public class Ca
在使用JPA执行NamedNativeQuery时,我得到了以下错误消息:
java.lang.IllegalArgumentException: Parameter with that name [pymtRefNP] did not exist
at org.hibernate.jpa.spi.BaseQueryImpl.findParameterRegistration(BaseQueryImpl.java:486)
at org.hibernate.jpa.spi.BaseQueryImpl.setParameter(BaseQueryImpl.java:603)
at org.hib
我正在尝试写一个JPA NamedQuery。我有一个工作的SQL查询,如下所示:
SELECT MIN(t1.Id + 1) AS nextID
FROM
MyTable t1 LEFT JOIN MyTable t2
ON
t1.Id + 1 = t2.Id
WHERE
t2.Id IS NULL
我无法将此查询转换为JPQL语法。
我想知道JPA中原生命名查询的目的是什么。让我们举个例子:
包含本机查询的实用程序类:
class ExampleNativeQueries {
static final String NATIVE_QUERY = "select * from EXAMPLE_TABLE where EXAMPLE_VALUE = :value";
}
和实体类+存储库:
@Entity
@Table(name = "EXAMPLE_TABLE")
public class Example {
@Id
private Long id;
尝试将列名作为参数传递,但JPA将其设置为带有单引号的值。
@NamedNativeQueries({
@NamedNativeQuery(
name = "Genre.findAllLocalized",
query = "SELECT "
+ " CASE "
+ " WHEN ? IS NULL THEN genre_default"
+
我试图使用JPA删除多个行(如果有的话),并获得空指针异常。参数和实体管理器是而不是 null。有什么可能导致这种异常的原因吗?
这个类被注释为@Transactional
@Override
public void removeAccount(String id) {
try {
int deleteRecords = entityManager.createQuery("DELETE from bankaccount b where b.accountNumber = ?1", BankAccount.class)
在JPA2.0中,我试图调用一个Oracle函数,它返回一个SYSREF游标并接受一个输入参数(ID)。
要求:如果输入参数有一个ID值如果应该获取该记录,如果输入值为null,则应该返回所有数据。
如果我传递输入param (ID),它可以很好地工作,但是如果我将空值传递给输入,则会得到这个错误。
它在JDBC上运行得很好,我不确定我是否在某个地方遗漏了JPA语法.
错误:
Caused by: java.sql.SQLException: ORA-06550: line 1, column 13:
PLS-00306: wrong number or types of ar
我尝试使用以下本机查询从表中删除一列行:
@NamedNativeQuery(name="WebGroup.DeleteIn",
query="DELETE FROM WebGroup WHERE
WebGroup.GROUP_ID IN (:IDsList)"
getEm().createNamedQuery("WebGroup.DeleteIn")
.setParameter("IDsList", groupToDeleteIDs)
.executeUpdate();
我们可以使用@NamedNativeQuery创建update语句吗?
@Entity
@Table(schema = "public", name = "conversion_checker")
@NamedNativeQueries({
@NamedNativeQuery(name="updateExpireStatus", query="UPDATE conversion_checker SET status='Expired' FROM conversion_checker ")
})
public
我有两张桌子employee和employee_document。下面是两个表的mysql查询-
CREATE TABLE employee (
id int(11) unsigned NOT NULL,
name varchar(100) COLLATE utf8_unicode_ci NOT NULL,
email varchar(50) COLLATE utf8_unicode_ci NOT NULL,
password_hash varchar(100) COLLATE utf8_unicode_ci NOT NULL,
status int(11) NOT NUL
我在Java应用程序中使用JPA。我试图在mysql中更新我的数据,但是我得到了这个异常
Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: last_updated_mdm_id of: com.avanir.mdm.app.model.hcp.MdmId [UPDATE com.avanir.mdm.app.model.hcp.MdmId e SET e.last_updated_mdm
我通过Java使用JPA,并具有以下原生postgresql查询:
@NamedNativeQuery(name = "Player.getStandardDev", query ="SELECT STDDEV(?1) FROM Player WHERE ?2 IS NOT NULL")
(我意识到可能不需要检查IS NOT NULL,但在这种情况下这不是问题的根源)。
然后,我有以下代码试图执行查询:
Query query = getEntityManager().createNamedQuery("Player.getStandardDev"
我需要通过连接3个不同的表来获取6列。我在entity类的顶部将它们声明为NamedNativequery,并且我使用了create named query method form JPA。当我尝试fo获取结果集时,我得到的是数组对象的列表,而不是POJO类型的对象列表。为了将结果集映射到外部POJO,我是否应该定义任何外部映射?
我正在尝试调用数据库中的Terminal_GetTicket存储过程,但一直收到以下异常:
PropertyReferenceException: No property getTicket found for type TicketInfo
我已经用一个非常简单的测试实体交叉验证了我的配置,似乎一切正常,但对于实际情况,有些地方是错误的。
下面是我的域实体(TicketInfo):
@Entity
@NamedStoredProcedureQuery(name = "TicketInfo.getTicket", procedureName = "Terminal_Ge