我使用JPA来持久化数据。我是整个Java-ee编程的新手,所以如果我做错了,请让我知道。我有两个对象。活动和门票。用户将添加新事件,并将选择该事件的门票数量。然后,我将在事件表中创建一个条目。另外,根据该事件的门票数,我将在门票表中创建许多条目。我感到困惑的是,在创建事件时创建票证的逻辑应该在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
}发布于 2012-05-18 06:50:15
您的主要逻辑应该在EJB中,而不是在控制器/servlet中。EJB应该为您的主要用例提供方法。您应该只将表示逻辑放在servlet中,格式化用于显示和处理用户操作的数据。
另请参阅:Session Facade pattern
至于bean的数量,这是您的选择,您可以从一个开始,如果它变得太乱,则进行重构。
此外,我不确定您是否应该在创建活动时创建票证。一个事件可以有一个字段来说明有多少门票可用,当用户购买它时,您可以创建一个门票,或者类似的东西。
https://stackoverflow.com/questions/10644369
复制相似问题