0

我正在使用 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
 }
4

1 回答 1

1

您的主要逻辑应该在您的 EJB 中,而不是在您的控制器/servlet 中。您的 EJB 应该为您的主要用例提供方法。您应该只将表示逻辑放入 servlet、格式化数据以进行显示和处理用户操作。

另请参阅:会话外观模式

至于bean的数量,那是你的选择,你可以从一个开始,如果它变得太乱,你可以重构。

另外,我不确定您是否应该在创建活动时创建门票。一个事件可以有一个字段,说明有多少票可用,您可以在用户购买时创建一张票,或类似的东西。

于 2012-05-17T22:50:14.700 回答