Maks00088
@Maks00088
Обучаюсь Java/JavaEE /Php/Js

Hibernate lifecycle callbacks, как правильно пользоватся?

При инициализации обькта Company и персистенс операции, мои колбеки не работают .. в чём можеть быть проблема ?
Что не хватает в данном коде ? Любые советы .. Хелп
Company.class:
@Entity
@Table(name = "companies")
@EntityListeners(CompanyListener.class)
public class Company {
	
	public Company() {}

	public User getCompany_user() {
		return company_user;
	}

	public void setCompany_user(User company_user) {
		this.company_user = company_user;
	}

	@Transient
	private User company_user;

	public Company(long id ,String compName, String password, String email) {
		setId(id);
		setCompName(compName);
		setPassword(password);
		setEmail(email);
	}

	public Collection<Coupon> getCompany_coupons() {
		return company_coupons;
	}

	public void setCompany_coupons(Collection<Coupon> company_coupons) {
		this.company_coupons = company_coupons;
	}

	@OneToMany(cascade = CascadeType.ALL , fetch = FetchType.LAZY)
	@JoinTable(name = "company_coupons" , inverseJoinColumns = @JoinColumn(name = "COUPON_ID") , joinColumns = @JoinColumn(name = "COMPANY_ID"))
	private Collection <Coupon> company_coupons;

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;

		Company company = (Company) o;

		if (id != company.id) return false;
		if (!compName.equals(company.compName)) return false;
		if (!password.equals(company.password)) return false;
		return email.equals(company.email);
	}

	@Override
	public int hashCode() {
		int result = (int) (id ^ (id >>> 32));
		result = 31 * result + compName.hashCode();
		result = 31 * result + password.hashCode();
		result = 31 * result + email.hashCode();
		return result;
	}

	@Id
	@Column(name = "COMPANY_ID")
	private long id;

	@Column(name = "COMPANY_NAME" , unique = true , nullable = false)
	private String compName;
	@Column(name = "COMPANY_PASSWORD" , unique = true , nullable = false)
	private String password;
	@Column(name = "COMPANY_EMAIL" , unique = true , nullable = false)
	private String email;

	@Override
	public String toString() {
		return "Company [id=" + id + ", compName=" + compName + ", password=" + password + ", email=" + email +"]";
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getCompName() {
		return compName;
	}

	public void setCompName(String compName) {
		this.compName = compName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

}


CompanyListener.class
public class CompanyListener {

    @PostPersist
    public void persistListener(){
        System.out.println();
        System.out.println("Post persist Listener invoked!");
    }

    @PostUpdate
    public void updateListener(){
        System.out.println();
        System.out.println("Update Listener invoked!");
    }

    @PostRemove
    public void removeListener(){
        System.out.println();
        System.out.println("Remove Listener invoked!");
    }

    private String getCurrentTime(){
        return LocalDateTime.now().toString();
    }
}
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы