繁体   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