簡體   English   中英

Java-ee編程; 與JPA混淆2張桌子

[英]Java-ee programming; Confusion with JPA for 2 tables

我正在使用JPA保留數據。 我是整個Java-ee編程的新手,所以如果我做錯方法,請讓我。 我有2個物件。 活動和門票。 用戶將添加新事件,並將選擇該事件的門票數量。 然后,我將在事件表中創建一個條目。 另外,根據該事件的票證數量,我將在票證表中創建很多條目。 我很困惑這種在創建事件時創建票證的邏輯是否應該在servlet或會話bean中存在。 我有用於事件和票證的單獨的會話bean。 我不確定我應該有2個會話bean還是只有1個bean。 任何有關此的指示將非常有幫助。

@Entity
public class Event {    
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long eventId;
private String name;
@OneToMany(mappedBy = "event", cascade = CascadeType.ALL)
private Set<Ticket> tickets;

    //getter and setters here
}    

@Entity
public class Ticket {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long ticketId;
@ManyToOne
@JoinColumn(name = "event_id", nullable=false)
private Event event;

//getters and setters
 }

您的主要邏輯應該在EJB中,而不是在控制器/ servlet中。 您的EJB應該提供主要用例的方法。 您只應將表示邏輯放在servlet中,格式化數據以顯示和處理用戶動作。

另請參閱: 會話外觀模式

至於bean的數量,這是您的選擇,您可以從一個開始,如果過於混亂則進行重構。

另外,我不確定您在創建活動時應該創建票證。 事件可以具有一個字段,該字段說明有多少張票證,您可以在用戶購買票證時創建票證或類似的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM