2013-06-03 34 views
0

我的申請JPA實體關係和標準生成器具有以下的entites:用於接合柱

@Entity 
public class proposal implements Serializable { 

@Id 
@Basic(optional = false) 
@NotNull 
@Column(name = "F1PRP")   
private Long proposalCode; 

//more fields... 
} 

@Entity 
public class branch implements Serializable { 

@EmbeddedId 
protected branchPK branchpk; 

//more fields.. 
} 

@Embeddable 
public class branchPK implements Serializable { 

@Basic(optional = false) 
@NotNull 
@Column(name = "F2PRP") 
private long proposalCode; 

@Basic(optional = false) 
@NotNull 
@Column(name = "F2BRN") 
private short proposalBranch; 
} 

每個proposal有一個主鍵(proposalCode),每個提議可以有多個分支的值。 我不確定如何構建它們之間的關係,以便我能夠爲此連接列創建條件構建器。

我的問題是什麼關係應該在這些enteties之間,我如何構建與加入標準生成器? 用戶將給我的值爲proposalBranch,我只需要顯示其中包含此提案分支的proposal

我如何做到這一點?

感謝的在進展。

回答

0

對於您發佈的實體,提案實體中的proposalCode與屬於分支實體一部分的提案代碼之間沒有關係,因此我認爲它們必須相同。

關於你說的每一個建議可以有多個分支值之間的關係,從而使被映射爲一個@OneToMany關係從項目立項到分支:

@Entity 
public class proposal 
{ 
    @Id 
    @Column(name = "F1PRP")   
    private Long proposalCode; 

    @OneToMany(mappedBy="proposal") 
    private List<branch> branches; 
} 

@Entity 
public class branch 
{ 
    @Id 
    @Column(name = "F2BRN") 
    private short proposalBranch; 

    @ManyToOne 
    @JoinColumn(name="F2PRP") 
    private proposal proposal; 
} 

使用這個配置,標準查詢應該很容易建立一個「根」作爲建議,並在分支上調用「連接」。 This is a good explanation of how Criteria API works