0

データを永続化するためにJPAを使用しています。私はJava-eeプログラミング全体に慣れていないので、間違った方法でやっている場合は教えてください。2つのオブジェクトがあります。イベントとチケット。ユーザーは新しいイベントを追加し、そのイベントのチケット数を選択します。次に、イベントテーブルにエントリを作成します。また、そのイベントのチケット数にもよりますが、チケットテーブルに非常に多くのエントリを作成します。イベントが作成されたときにチケットを作成するこのロジックがサーブレットにあるのか、セッションBeanにあるのか混乱しています。イベントとチケット用に別々のセッションBeanがあります。セッションBeanを2つにするべきか、それとも1つだけにするべきかわかりません。これに関するポインタは本当に役に立ちます。

コード

@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に含める必要があります。EJBは、主なユースケースのメソッドを提供する必要があります。プレゼンテーションロジックはサーブレットにのみ配置し、データをフォーマットして表示し、ユーザーアクションを処理する必要があります。

参照:セッションファサードパターン

Beanの数については、それを選択します。1つから始めて、乱雑になりすぎた場合はリファクタリングできます。

また、イベントを作成するときにチケットを作成する必要があるかどうかもわかりません。イベントには、使用可能なチケットの数を示すフィールドを含めることができ、ユーザーがチケットを購入したときなどにチケットを作成します。

于 2012-05-17T22:50:14.700 に答える