Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.TablePerConcreteClassExample.model;
- import java.util.List;
- import javax.persistence.Column;
- import javax.persistence.DiscriminatorColumn;
- import javax.persistence.DiscriminatorValue;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.Inheritance;
- import javax.persistence.InheritanceType;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToOne;
- import javax.persistence.OneToMany;
- import javax.persistence.Table;
- @Entity
- @Table(name="Employer")
- @Inheritance(strategy=InheritanceType.SINGLE_TABLE)
- @DiscriminatorColumn(name="type")
- @DiscriminatorValue(value="Employer")
- public class Employer {
- @Id
- @Column (name = "empNo", nullable=false)
- @GeneratedValue(strategy = GenerationType.AUTO)
- private int empNo;
- @Column(name = "name", nullable=false)
- private String nome;
- @OneToMany (mappedBy = "employer",
- fetch=FetchType.LAZY)
- private List<Veiculo> veiculos;
- public int getEmpNo() {
- return empNo;
- }
- public void setEmpNo(int empNo) {
- this.empNo = empNo;
- }
- public String getNome() {
- return nome;
- }
- public void setNome(String nome) {
- this.nome = nome;
- }
- public List<Veiculo> getVeiculos() {
- return veiculos;
- }
- public void setVeiculos(List<Veiculo> veiculos) {
- this.veiculos = veiculos;
- }
- }
- package com.example.TablePerConcreteClassExample.model;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToOne;
- import javax.persistence.Table;
- @Entity
- @Table(name="Veiculo")
- public class Veiculo {
- @Id
- @Column (name = "id", nullable=false)
- @GeneratedValue(strategy = GenerationType.AUTO)
- private int id;
- @Column(name = "name", nullable=false)
- private String nome;
- @ManyToOne(fetch = FetchType.EAGER)
- @JoinColumn(name = "empNo", nullable=false)
- private Employer employer;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getNome() {
- return nome;
- }
- public void setNome(String nome) {
- this.nome = nome;
- }
- public Employer getEmployer() {
- return employer;
- }
- public void setEmployer(Employer employer) {
- this.employer = employer;
- }
- }
- spring.datasource.url=jdbc:mysql://localhost:3306/TablePerConcreteClass?createDatabaseIfNotExist=true&useSSL=false&useTimezone=true&serverTimezone=UTC
- spring.datasource.username=root
- spring.datasource.password=
- spring.jpa.database=MYSQL
- spring.datasource.platform=mysql
- spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
- spring.database.driverClassName=com.mysql.cj.jdbc.Driver
- spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
- spring.jpa.hibernate.ddl-auto=update
- spring.jpa.show-sql=true
- spring.servlet.multipart.enabled=true
Add Comment
Please, Sign In to add comment