All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.gentity.test.test1a_many_to_one.Employee Maven / Gradle / Ivy


package com.github.gentity.test.test1a_many_to_one;

import java.io.Serializable;
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.ManyToOne;
import javax.persistence.Table;
import com.github.gentity.ToOneSide;

@Entity
@Table(name = "EMPLOYEE")
public class Employee implements Serializable
{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "ID")
    protected long id;
    @Column(name = "FIRSTNAME", length = 100)
    protected String firstname;
    @Column(name = "SURNAME", length = 100)
    protected String surname;
    @ManyToOne
    @JoinColumn(name = "COMPANY_ID", nullable = false)
    protected Company company;
    final static ToOneSide relationTo$company = ToOneSide.of((o -> o.company), ((o,m) -> o.company = m), Company.relationTo$employee);

    public static Employee.Builder builder() {
        return new Employee.Builder();
    }

    public long getId() {
        return id;
    }

    public String getFirstname() {
        return firstname;
    }

    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }

    public String getSurname() {
        return surname;
    }

    public void setSurname(String surname) {
        this.surname = surname;
    }

    public Company getCompany() {
        return (relationTo$company.get(this));
    }

    public void setCompany(Company company) {
        relationTo$company.set(this, company);
    }

    public static class Builder {

        private final Employee instance = new Employee();

        public Employee build() {
            return instance;
        }

        public Employee.Builder firstname(String firstname) {
            instance.firstname = firstname;
            return this;
        }

        public Employee.Builder surname(String surname) {
            instance.surname = surname;
            return this;
        }

        public Employee.Builder company(Company company) {
            instance.company = company;
            return this;
        }

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy