我想创建一个类,该类可以映射到使用JPA本机查询从数据库中提取的结果。有没有办法将没有基础表的实体映射到结果?我提到这个链接,使得它的hibernate。可以使用JPA代替吗?
这是我要为其映射结果的班级。
import java.math.BigDecimal;
import javax.persistence.Entity;
@Entity
public class OpUsage {
String username;
BigDecimal number_of_clicks;
String accordion;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public BigDecimal getNumber_of_clicks() {
return number_of_clicks;
}
public void setNumber_of_clicks(BigDecimal number_of_clicks) {
this.number_of_clicks = number_of_clicks;
}
public String getAccordion() {
return accordion;
}
public void setAccordion(String accordion) {
this.accordion = accordion;
}
}
JPA 2.1规范定义了将结果从本机查询返回到非实体类的方法
您应该检出标题 3.10.16.2返回非托管实例, 尤其是
3.10.16.2.2构造函数结果
使用 SqlResultSetMapping 批注的 ConstructorResult 批注元素指定到构造函数的映射。
ConstructorResult 批注的 targetClass 元素指定其构造函数对应于指定列的类。必须使用
ConstructorResult 批注中的columns元素以与 构造函数
的参数列表相同的顺序指定与预期构造函数的参数对应的所有列。作为构造函数结果返回的任何实体都将处于新状态或分离状态,具体取决于是否为构造对象检索了主键。
例
Query q = em.createNativeQuery(
"SELECT c.id, c.name, COUNT(o) as orderCount, AVG(o.price) AS
avgOrder" +
"FROM Customer c, Orders o " +
"WHERE o.cid = c.id " +
"GROUP BY c.id, c.name",
"CustomerDetailsResult");
@SqlResultSetMapping(name = "CustomerDetailsResult",
classes = {
@ConstructorResult(targetClass = com.acme.CustomerDetails.class,
columns = {
@ColumnResult(name = "id"),
@ColumnResult(name = "name"),
@ColumnResult(name = "orderCount"),
@ColumnResult(name = "avgOrder", type = Double.class)})
})
我想创建一个可以映射到使用JPA原生查询从数据库提取的结果的类。有没有办法将没有基础表的实体映射到结果?我提到了这个允许它Hibernate的链接。这可以用JPA来代替吗? 这是我想要映射结果的类。
问题内容: 我有一个非常丑陋的旧数据库系统,需要与之集成。本质上,我在系统上做一些只读报告,并且我不想建立代表我正在处理的每个表的上千个实体。相反,我只想为我生成的每种报告类型定义一个实体(本质上是来自不同表的一堆列的并集),然后让讨厌的hibernate映射(许多已加入,很多已合并) sql查询到此类实体的列表。 问题是:我可以创建一个没有基础表的实体,并使用sql语句填充所述实体的列表吗? 谢
问题内容: 我有一个具有以下结构的数据库: 当我尝试创建EntityProperty类时 我得到以下异常: 我知道JPA实体必须具有主键,但是由于无法控制的原因,我无法更改数据库架构。是否可以创建将与这样的数据库模式一起工作的JPA(hibernate)实体? 问题答案: 我猜您有一个组合键,其中的外键是。如果是这样,则可以按如下所示进行映射:
我正试图找到在ORM上映射我的数据的最佳方法。我有一个从MySQL数据库中获取数据的查询 用spring boot和spring的数据获得这些数据的最优方法是什么?? 我应该使用@query注释并执行它还是以某种方式为Equipment and Devices表创建实体,然后使用JPQL/HQL将表连接到查询中,但是我应该如何映射结果? 提前道谢。
主要内容:我真的能学会吗?,编码能力差怎么办?“编程零基础,可以学习 Python 吗”,这是很多初学者经常问我的一个问题。当然,在计算机方面的基础越好,对学习任何一门新的编程语言越有利。但如果你是零基础,也不用担心,因为无论用哪门语言作为学习编程的入门语言,总是要有一个开始。 我真的能学会吗? 就我个人的观点,Python 作为学习编程的入门语言是再合适不过的。 凡是学习过 C 语言的同学都感同身受,认为 C 语言不是很好的入门语言,很多曾
我有以下2个实体: 它们有共享字段/列,例如:等,但是每个主键id字段的名称不同,例如有和 有没有一种方法可以创建一个基本实体超类来保存这些通用的