gpt4 book ai didi

java - 没有实际父实体的一对多模型 JPA

转载 作者:行者123 更新时间:2023-11-29 09:05:17 26 4
gpt4 key购买 nike

我遇到了一个问题,我有很多表都有 PersonID (PID) 列。

我想使用 PID 作为外键使用 JPA 一对多集合将这些实体从父实体中挂起,并使用 EhCache 进行缓存。

听起来很简单,问题是我没有父实体!我没有 parent 的原因是我们正在编写一个报告应用程序,PID 是我们用来写笔记的对象。

我真的不想创建一个新表,只是存储一个PID 用于JPA 和EhCache 配置。

我想知道我是否可以模仿一个实体或类似的东西,但对于所有的搜索我都是一片空白。

最佳答案

没有“虚拟”实体或类似的东西,因此您无法单独在 Hibernate 中完成您想要的事情。

我建议在两个查询之上的抽象层(基本上是 Person 类的 DAO)在代码中简单地做,比如:

private static Person lookupPerson(Session s, int pid) {
List<Note> notes = s.createCriteria(Note.class).add(Restrictions.eq("pid", pid)).list();
List<Event> events = s.createCriteria(Event.class).add(Restrictions.eq("pid", pid)).list();

Person p = new Person(notes, events);
return p;
}

private static Person savePerson(Session s, Person p) {
for (Note note : p.getNotes()) {
s.saveOrUpdate(note);
}

for (Event event : p.getEvents()) {
s.saveOrUpdate(event);
}
}

关于java - 没有实际父实体的一对多模型 JPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15368686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com