我有3个实体:问题、测试和类别。问题有链接到他的测试和类别有链接到她的测试,我不是很擅长hql查询,我尝试了几个,但他们都不工作:"select q from Question q where q.test in (select c.tests from Category c where c.id=:categoryId)"与以下错误:“无法提取ResultSet”。
Query query = getEntityManager().createQuery(
"select q from Question q where q.test i
我正在从Hibernate移植。JPQL语句中的SIZE函数有什么问题(假设映射是正确的):
SELECT NEW de.poyry.pqgenerator.view.PqListItem(
pq.id,
pq.name,
pq.submissionDate,
pe.firstName,
pe.lastName,
SIZE(pa))
FROM Prequalification pq
JOIN pq.user us
JOIN us.person pe
LEFT JOIN pq.partnerships pa
LEFT JOIN pa.company co
GROUP BY p
我有hql查询,它具有按.In分页结果分组的结果,我希望获得所有结果的计数,以便在分页中显示。在没有.I组的查询中,编写一个实用程序,在hql查询中创建查询计数,如下所示
select u
from Personel u
where u.lastname='azizkhani'
我找到main "from“关键字和子字符串hql并添加count(*),然后进行此查询。
select count(*)
from Personel u
where u.lastname='azizkhani'
当我有包含组的查询时,我不能这样做
select u.l
我有实体、产品和类别,它们与简单的、多到多的关系结合在一起。我想得到一个按单一类别过滤的产品的分页列表。我正在尝试编写一个Spring Data JPA自动方法或一个JPQL查询方法,该方法将生成类似于以下内容的SQL:
select [...] FROM ProductToCategory ptc INNER JOIN Product p ON ptc.product_id=p.id WHERE ptc.category_id=? LIMIT ? OFFSET ?
由于ProductToCategory联接表不是JPA entity,而且我不能在JPQL中引用它,所以我能想到的最接近的事情
我试图用JPA2.1中的非唯一值来映射一个Map<String, Entity>。目前这种关系可以是单向的。关于如何使用唯一的值集映射Map<String, Entity>,有一万亿种解释,但这个问题并不是关于这个问题的。
我有一个
@Entity
public class Entity2 implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Long id;
[constructors, getter and set
我正在使用与Java一起使用的Play Framework2.3,在委员会与其记录的会议日期之间有以下一对多的关系:
@Entity
public class Committee {
@Id
protected Long id;
@OneToMany(cascade=CascadeType.ALL, mappedBy="committee", orphanRemoval=true)
private List<MeetingDate> meetingDates;
}
@Entity
public class MeetingDate
因此,我正在从事一个包含Java/JPA和关系数据库的项目。
假设您有一个分支类和一个BranchService类。分支包含与分支相关的所有字段,BranchService包含与BranchService相关的所有内容。如果您要忽略项目的JPA方面,并且要在Java中创建一个新的分支对象,则分支类需要包含一个BranchService列表,以维护两个类之间的关系。
我理解这背后的一些逻辑。如果您去掉了JPA和rdbms,这两个表就没有关系了。我不明白为什么这个连接需要通过一个列表,我也有点不确定的语法。我只是把这个加到我的分支类的末尾吗?
List<BranchService> b
我使用SpringDataJPA1.7.1和Hibernate 4.3.7作为我的JPA提供程序。我有以下Spring存储库:
@Repository
public interface CompanyRepository extends JpaRepository<Company, Integer> {
@EntityGraph(value = "graph.company.search.results", type = EntityGraph.EntityGraphType.FETCH)
@Query("SELECT c FROM Comp
我最近在我们的回购中发现了这样的映射:
@Entity
...
public class Foo{
...
@OneToMany(mappedBy = "someField", cascade = CascadeType.ALL, orphanRemoval = true)
public Set<Bar> bars;
...
}
@Entity
@IdClass(Bar.Key.class)
...
public class Bar{
@Id
public long someField;
@Id
这是用LINQ (to )连接3个(或更多)表的正确方法吗?尤其是select部分。我是否正确地返回跨表的单个数据记录(行)?
public static DataTable GetCurrentEmploymentQuestionnaire(Guid employmentQuestionnaireID)
{
var Questionnaire = from employmentQuestionnaire in context.tblEmploymentQuestionnaires
join pre
我必须连接两个表,并使用带有规范和JPA的Where过滤结果。但是我不是很熟悉它。
例如,这些表包括:
public class A {
private Long id;
private Long secondId;
...
}
public class daughterA {
@JoinColumn (name = "id")
private Long idA;
...
}
而WHERE将应用于secondId。
感谢所有人的帮助,我为任何错误道歉,我从这些技术开始。
当我试图从“书”中搜索"nice_library“时,它工作得很好。我猜是因为nice_library FK保存在书上了。
book = bookRepository.findById(book.getId()).orElseThrow(() -> new RuntimeException());
Long id = book.getNiceLibrary().getId();
assertEquals(id, niceLibrary.getId());
但是,当我试图从"nice_library“中搜索"book”时,我什么也找不到。我猜是因为nice_libr
我无法使用JPA中的单向@OneToMany关系获取记录。有什么东西不见了吗?但是,记录是持久化的;只有检索记录才有问题。
class Employee{
int empId;
...
@OneToMany(cascade = ALL, mappedBy = "deptId",fetch = FetchType.EAGER)
List<Department> departments=new ArrayList<>();
//getters and setters
}
class Department{
我必须将JPA应用到一个设计糟糕的遗留数据库中。不幸的是,不可能改变它。幸运的是,它只用于只读访问。
我发现的最奇怪的事情之一是没有连接(或中间)表的“多对多”的关系。这是对表格结构的简化:
USER ACCESS
---- ------
ID int primary key ID int primary key
NAME varchar2(20) NAME varchar2(20)
ACCESS_GROUP int ACCESS_GROUP int
ACCESS
我有一个带有kafka和jpa的Spring应用程序。我使用h2作为内存数据库.对于每个测试类的执行,我不希望kafka出现在每个测试类上。我有两个测试类,一个是KafkaConsumerTest,另一个是JPATest。KafkaConsumerTest被@SpringBootTest注释,它完美地加载了整个应用程序并通过了所有测试。但是,对于JPATest,我不想打开整个应用程序,也不想打开很少需要的上下文来测试与JPA相关的更改。当我这样做时,它会抛出以下异常。
Caused by: java.lang.IllegalArgumentException: dataSource or da