// Path: jpagenerators/src/main/java/com/example/jpagenerators/model/PersonDAO.java
// @Stateless
// public class PersonDAO {
//     
//     @PersistenceContext
//     private EntityManager em;
//     
//     public void addPerson(Person person) {
//         em.persist(person);
//     }
//     
//     public List<Person> getAllPerson() {
//         TypedQuery<Person> query = em.createNamedQuery("Person.selectAll", Person.class);
//         return query.getResultList();
//     }
// }
// 
// Path: jpagenerators/src/main/java/com/example/jpagenerators/model/Address.java
// @Entity
// @Table(name = "JPAGEN_ADDRESS")
// public class Address implements Serializable {
//     
//     @Id
//     @GeneratedValue(strategy = GenerationType.SEQUENCE,
//             generator = "addressGen")
//     @SequenceGenerator(name = "addressGen",
//             sequenceName = "JPAGEN_ADDRESS_SEQ")
//     private long id;
//     
//     @Column(name = "CITY")
//     private String city;
//     
//     @Column(name = "STREET")
//     private String street;
// 
//     protected Address() {
//     }
//     
//     public Address(String city, String street) {
//         this.city = city;
//         this.street = street;
//     }
// 
//     public long getId() {
//         return id;
//     }
// 
//     public String getCity() {
//         return city;
//     }
// 
//     public void setCity(String city) {
//         this.city = city;
//     }
// 
//     public String getStreet() {
//         return street;
//     }
// 
//     public void setStreet(String street) {
//         this.street = street;
//     }
// }
// 
// Path: jpagenerators/src/main/java/com/example/jpagenerators/model/Person.java
// @Entity
// @Table(name = "JPAGEN_PERSON")
// @NamedQuery(name = "Person.selectAll",
//         query = "select o from Person o order by o.id")
// public class Person implements Serializable {
//     
//     @Id
//     @GeneratedValue(strategy = GenerationType.TABLE,
//             generator = "personGen")
//     @TableGenerator(name = "personGen",
//             table = "JPAGEN_GENERATORS",
//             pkColumnName = "NAME",
//             pkColumnValue = "JPAGEN_PERSON_GEN",
//             valueColumnName = "VALUE")
//     private long id;
// 
//     @Column(name = "NAME")
//     private String name;
// 
//     @OneToOne(cascade = CascadeType.ALL)
//     @JoinColumn(name = "ADDRESS_ID")
//     private Address address;
//     
//     protected Person() {
//     }
// 
//     public Person(String name, Address address) {
//         id = 0;
//         this.name = name;
//         this.address = address;
//     }
//     
//     public long getId() {
//         return id;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public Address getAddress() {
//         return address;
//     }
// 
//     public void setAddress(Address address) {
//         this.address = address;
//     }
// 
// }


import com.example.jpagenerators.model.PersonDAO;
import com.example.jpagenerators.model.Address;
import com.example.jpagenerators.model.Person;
import java.util.List;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
package com.example.jpagenerators.view;


@Named
@RequestScoped
public class PersonBean {
    @EJB
    private PersonDAO personDAO;

    private Person newPerson;
    private List<Person> allPerson;
    
// Path: jpagenerators/src/main/java/com/example/jpagenerators/model/PersonDAO.java
// @Stateless
// public class PersonDAO {
//     
//     @PersistenceContext
//     private EntityManager em;
//     
//     public void addPerson(Person person) {
//         em.persist(person);
//     }
//     
//     public List<Person> getAllPerson() {
//         TypedQuery<Person> query = em.createNamedQuery("Person.selectAll", Person.class);
//         return query.getResultList();
//     }
// }
// 
// Path: jpagenerators/src/main/java/com/example/jpagenerators/model/Address.java
// @Entity
// @Table(name = "JPAGEN_ADDRESS")
// public class Address implements Serializable {
//     
//     @Id
//     @GeneratedValue(strategy = GenerationType.SEQUENCE,
//             generator = "addressGen")
//     @SequenceGenerator(name = "addressGen",
//             sequenceName = "JPAGEN_ADDRESS_SEQ")
//     private long id;
//     
//     @Column(name = "CITY")
//     private String city;
//     
//     @Column(name = "STREET")
//     private String street;
// 
//     protected Address() {
//     }
//     
//     public Address(String city, String street) {
//         this.city = city;
//         this.street = street;
//     }
// 
//     public long getId() {
//         return id;
//     }
// 
//     public String getCity() {
//         return city;
//     }
// 
//     public void setCity(String city) {
//         this.city = city;
//     }
// 
//     public String getStreet() {
//         return street;
//     }
// 
//     public void setStreet(String street) {
//         this.street = street;
//     }
// }
// 
// Path: jpagenerators/src/main/java/com/example/jpagenerators/model/Person.java
// @Entity
// @Table(name = "JPAGEN_PERSON")
// @NamedQuery(name = "Person.selectAll",
//         query = "select o from Person o order by o.id")
// public class Person implements Serializable {
//     
//     @Id
//     @GeneratedValue(strategy = GenerationType.TABLE,
//             generator = "personGen")
//     @TableGenerator(name = "personGen",
//             table = "JPAGEN_GENERATORS",
//             pkColumnName = "NAME",
//             pkColumnValue = "JPAGEN_PERSON_GEN",
//             valueColumnName = "VALUE")
//     private long id;
// 
//     @Column(name = "NAME")
//     private String name;
// 
//     @OneToOne(cascade = CascadeType.ALL)
//     @JoinColumn(name = "ADDRESS_ID")
//     private Address address;
//     
//     protected Person() {
//     }
// 
//     public Person(String name, Address address) {
//         id = 0;
//         this.name = name;
//         this.address = address;
//     }
//     
//     public long getId() {
//         return id;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public Address getAddress() {
//         return address;
//     }
// 
//     public void setAddress(Address address) {
//         this.address = address;
//     }
// 
// }


// Path: jpagenerators/src/main/java/com/example/jpagenerators/view/PersonBean.java
import com.example.jpagenerators.model.PersonDAO;
import com.example.jpagenerators.model.Address;
import com.example.jpagenerators.model.Person;
import java.util.List;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;

package com.example.jpagenerators.view;


@Named
@RequestScoped
public class PersonBean {
    @EJB
    private PersonDAO personDAO;

    private Person newPerson;
    private List<Person> allPerson;
    
    public Person getNewPerson() {