I made employee table and position table.Every Employees have one position.I want join two table ,but I don't know how to write code.
Employee.java
@Table(name = "employees")
@NamedQueries({
@NamedQuery(name = "getAllEmployees", query = "SELECT e FROM Employee AS e ORDER BY e.emp_id DESC")
})
@Entity
public class Employee {
@Id
@Column(name = "emp_id", length = 8)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer emp_id;
@Column(name = "emp_name", length = 20, nullable = false)
private String emp_name;
@OneToOne(cascade = CascadeType.ALL)
@JoinTable(name = "position", joinColumns = {
@JoinColumn(name = "emp_id", referencedColumnName = "emp_id") }, inverseJoinColumns = {
@JoinColumn(name = "pos_id", referencedColumnName = "pos_id") })
private Position pos;
~setter/getter~
Position.java
@Table(name = "position")
@Entity
public class Position {
@Id
@Column(name = "pos_id")
private Integer pos_id;
@Column(name = "pos_name", length = 30, nullable = false)
private String pos_name;
@OneToOne(mappedBy = "pos")
private Employee employee;
~setter/getter~
Employee.java
@Entity
public class Employee {
@Id
@Column(name = "emp_id", length = 8)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer emp_id;
@Column(name = "emp_name", length = 20, nullable = false)
private String emp_name;
@ManyToOne
private Position position;
Position.java
@Entity
public class Position {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int pos_id;
@Column(name = "pos_name", length = 16)
private String pos_name;
@OneToMany(mappedBy = "position")
private List<Employee> employees;
Thank you.I can join two tables!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.