Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用xtra列和hibernate持久化jointable_Java_Hibernate_Jpa - Fatal编程技术网

Java 如何使用xtra列和hibernate持久化jointable

Java 如何使用xtra列和hibernate持久化jointable,java,hibernate,jpa,Java,Hibernate,Jpa,我想通过hibernate将数据持久化到数据库中。 我的模型看起来像: campaign | campaign_staffs | staffs ------------------------------------------------------------- id_campaign (PK) | id_campaign (PK) | id_staff (PK) .. | id_staff (PK)

我想通过hibernate将数据持久化到数据库中。 我的模型看起来像:

campaign          |    campaign_staffs    |    staffs
-------------------------------------------------------------
id_campaign (PK)  |     id_campaign (PK)  |    id_staff (PK)
..                |     id_staff (PK)     |    ...
..                |     ordernumber       |    ....
因为一个活动可以有n个员工,一个员工可以负责n个营地。所以我需要一个连接表

ordernumber of campaign_Staff是活动中员工的顺序。e、 g:

 id_campaign  |  id_staff    |  ordernumber
---------------------------------------------
    4711      |     4822     |     1
    4711      |     5383     |     2
    4711      |     2574     |     3
    4812      |      432     |     1
    4812      |     9234     |     2
我想你会得到的

因此,我的活动Entitycode看起来像(代码片段):

以及为竞选工作人员(CompositePK)

因此,如果我想要如此持久的东西,我会得到错误消息:

错误org.hibernate.engine.jdbc.spi.SqlExceptionHelper-错误:“ordernumber”列中的null值违反了非null约束 详细信息:失败的行包含(4641969829,null)。


hibernate知道,我必须如何更改代码,他必须将一个数字按顺序排列?

这是否回答了您的问题?不是真的。hibernate不会自动设置带有答案的订单号。请使用新代码更新问题在我更新代码后,出现了一条带有int/integer错误的新错误消息。所以我决定接受我的旧代码,希望有人能帮助我。我告诉过你们,他们是做你们想做的事情的唯一方法。这一切都在张贴的链接。您不能对代码和需求执行任何操作
@Column(name = "id_campaign")
private int id; 

@OneToMany(mappedBy ="id.idCampaign")
private Set<CampaignStaff> staffs = new HashSet<CampaignStaff>(0);
@Column(name = "id_staffs")
private int id; 

@OneToMany(mappedBy ="id.idStaffs")
private Set<CampaignStaff> campaignstaffs = new HashSet<CampaignStaff>(0);
@EmbeddedId
private CampaignStaffPK id;

private Integer ordernumber;

@ManyToOne
@JoinColumn(name="id_campaign")
private Campaign idCampaign;

@ManyToOne
@JoinColumn(name="id_staffs")
private Staffs idStaffs;
@ManyToOne
@JoinColumn(name="id_campaign")
private Campaign idCampaign;

@ManyToOne
@JoinColumn(name="id_staffs")
private Staffs idStaffs;