当前位置: 首页 > 知识库问答 >
问题:

如何在Hibernate中设置外键实体

茹照
2023-03-14
// this is GroupEntity
// mapping bond_id from Bond table
   @OneToMany(cascade = CascadeType.ALL)
    @JoinColumn(name ="bond_id")
    private BondEntity bondEntity;
BondEntity bondEntity = new BondEntity();
bondEntity.setBondId(1234); //remaining field of bondEntity not set
groupEntity.setBondEntity(bondEntity);

如果我继续尝试持久化这个实体,我将得到分离的实体传递到hibernate中持久化。

做这件事的正确方法是什么。可能是我理解的不对。

共有1个答案

司空高义
2023-03-14

这是不正确的

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name ="bond_id")
private BondEntity bondEntity;

也许你想用

@ManyToOne
@JoinColumn(name ="bond_id")
private BondEntity bondEntity;

请读一下这个

BondEntity bondEntity = new BondEntity();
bondEntity.setBondId(1234); //remaining field of bondEntity not set
groupEntity.setBondEntity(bondEntity);
 类似资料:
  • 我有这个型号 而我有这个方法 但是hibernate没有设置实际地址id和注册地址id(它是OneTONE) Hibernate:插入客户(名字、姓氏、中间名、性别)值(?、、?、?)2021-03-18 14:01:58.340警告12836---[nio-8080-exec-1]o.h.发动机。jdbc。spi。SqlExceptionHelper:SQL错误:0,SQLState:23502

  • 我需要创建3个如下所示的表 学生(SID:CHAR(12),SNAME:VARCHAR(50),BDATE:日期,地址:VARCHAR(50),SCITY:VARCHAR(20),年份:CHAR(20),GPA:FLOAT) 公司(CID:CHAR(8),CNAME:VARCHAR(20)) 应用(SID:CHAR(12),CID:CHAR(8)) (粗体属性为主键) 但是我不确定如何设置外键,因

  • 问题内容: 我正在使用phpMyAdmin建立数据库。我有两个表(和), 在它们的主键上建立了索引 。我正在尝试使用它们的主键作为外键在它们之间创建一个关系表()。 我将这些表创建为MyISAM,但是后来将这三个表都更改为InnoDB,因为我读到MyISAM不支持外键。所有字段均为。 当我选择表格时,单击“关系视图”链接,然后尝试将FK列设置为和,它显示 “未定义索引!” 每列旁边。 我想念什么?

  • 我正在使用实体框架管理我的sql server ce数据库。我希望我的表的主键由其他表的几个外键组成。我希望这样的事情能奏效: 但它会导致以下数据库迁移错误: 票据打印机。Bill::EntityType“Bill”没有定义键。定义此EntityType的键。Bills:EntityType:EntitySet“Bills”基于未定义键的类型“Bill”。 如何使表具有由这三个外键组成的主键?

  • 我有一个@OneToOne关系映射。我可以获取记录并查看关系,但我无法创建记录并保留外键。目前,当在父表(FacilityGeneral)中创建新记录时,我也会在子表(FacilityLocation)中创建新记录,但是,子表中的外键不会自动创建。 我试图通过编程将创建为父表(FacilityGeneral)中主键的序列值分配给子表中的不同字段来持久化它,但由于序列#在对象持久化之前不会生成,因此

  • Hi编写Spring应用程序,使用Spring Security。这是我的用户和帐户角色数据库: 我的实体类: 当我尝试登录我的系统我有错误: Hibernate:选择userrolese0_. username作为username3_1_0_,userrolese0_. id作为id1_0_0_,userrolese0_. id作为id1_0_1_,userrolese0_. name作为nam