说,我有以下实体:
@Entity
public class A {
@Id
@GeneratedValue
private Long id;
@Embedded
private B b;
//getters and setters
}
@Embeddable
public class B {
@OneToMany
private List<C> cList;
//getters and setters
}
@Entity
public class C {
@Id
@GeneratedValue
private Long id;
//other fields, getters and setters
}
通过结合使用模式自动生成功能,Hibernate
我得到了一个附加表,其中包含A
和之间的映射C
。但是,我想实现通过添加一个一对多的关系A
的
编号 为C
( 例如,没有附加表 )。
这可能吗?如果是,我应该使用什么注释来创建这种映射?
通常,使用@JoinColumn批注是可能的。它也适用于可嵌入对象。
@OneToMany
@JoinColumn(name="A_ID")
private List<C> cList;
如果您对embeddable中指定的列的A_ID名称不满意,则可以覆盖实体A中的列名称:
@AssociationOverride(name= "cList",
joinColumns = @JoinColumn(name="SOME_NAME_FOR_JOIN_COLUMN_IN_TABLE_C"))
@Embedded
private B b;
我在一个POC中使用了最近嵌入的Spring数据Neo4j。它在一台机器上快速工作。在投入生产之前,我想将数据库与应用服务器分离。我配置了三个Neo4j服务器实例和HA代理,并使用Spring数据Neo4j Rest进行连接。但速度最差。每个查询的执行时间超过30秒。 我正在考虑使用嵌入HA的Neo4j?有人能给我提供链接/教程,用HA代理在嵌入式模式下配置Spring Data Neo4j吗。
我定义了具有@OneToOne双向关系的实体。 关系的所有者站点(子类): 其他站点(父类): 当我试图坚持有子集的父母(不坚持),然后我得到了例外 TransientPropertyValueException:对象引用未保存的临时实例-在刷新之前保存临时实例 这看起来可以理解。 但当我定义具有双向一对一/多对一关联的实体时,如: 此关系的所有者站点: 关系的另一面: 并尝试持久化具有子集合集(
问题内容: 我有以下实体: 我的属性ScriptItem是其他3个类的接口。是否可以将JPA配置为在运行时执行时设置正确的类ID? 其他资源: 我应该使用哪些注释来让JPA理解要保存3个类之一的ID? 提前致谢, 问题答案: 这确实是一个好主意,但不幸的是,JPA不支持将接口直接映射为实体属性。 您只能映射直接用注释的顶级类。这个顶级类可以实现一个接口。 这个功能已经被要求并讨论了很长时间。 根据
我有一个实体 我有这个错误
问题内容: 我正在使用JSON将一些值从外部源获取到变量中。 我有一个这样的类型,将值放入: 解组后,我可以通过以下方式访问类型: 但是如果我尝试做类似的事情: 编译器抱怨没有这样的值。 所以我的问题是,我如何根据某些条件引用我知道会存在的Go属性? 做到这一点: 但这不是很灵活,因为我将收到不同的。 问题答案: 会尽力将数据放置在最适合您的类型的位置。从技术上讲,您的第一个示例将起作用,但是即使
早上好 我正在使用ModelMapper将DTO映射到实体,反之亦然,与此相关,我有一个问题。 1)当我从SonController获取SonDTO时,我需要将长的motherId映射到实体Son,但在那里我有实体mothermother来建立关系,它在内部有id。那么我如何将这个SonDTO motherId映射到实体mothermother中,反之亦然? 类以下: