package com.example.jpagenerators.model;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
@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;
}
}