Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,7 @@ public class TaxComponent extends AbstractAuditableCustom {
@Column(name = "start_date", nullable = false)
private LocalDate startDate;

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
@JoinColumn(name = "tax_component_id", referencedColumnName = "id", nullable = false)
@OneToMany(mappedBy = "taxComponent", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
private Set<TaxComponentHistory> taxComponentHistories = new HashSet<>();

@OneToMany(cascade = CascadeType.DETACH, mappedBy = "taxComponent", orphanRemoval = false, fetch = FetchType.EAGER)
Expand Down Expand Up @@ -120,7 +119,7 @@ public Map<String, Object> update(final JsonCommand command) {
updateStartDate(command, changes, true);
LocalDate newStartDate = this.startDate;

TaxComponentHistory history = TaxComponentHistory.createTaxComponentHistory(this.percentage, oldStartDate, newStartDate);
TaxComponentHistory history = TaxComponentHistory.createTaxComponentHistory(this, this.percentage, oldStartDate, newStartDate);
this.taxComponentHistories.add(history);
this.percentage = newValue;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import java.math.BigDecimal;
import java.time.LocalDate;
Expand All @@ -30,6 +32,10 @@
@Table(name = "m_tax_component_history")
public class TaxComponentHistory extends AbstractAuditableCustom {

@ManyToOne(optional = false)
@JoinColumn(name = "tax_component_id", referencedColumnName = "id", nullable = false)
private TaxComponent taxComponent;

@Column(name = "percentage", scale = 6, precision = 19, nullable = false)
private BigDecimal percentage;

Expand All @@ -43,15 +49,17 @@ protected TaxComponentHistory() {

}

private TaxComponentHistory(final BigDecimal percentage, final LocalDate startDate, final LocalDate endDate) {
private TaxComponentHistory(final TaxComponent taxComponent, final BigDecimal percentage, final LocalDate startDate,
final LocalDate endDate) {
this.taxComponent = taxComponent;
this.percentage = percentage;
this.startDate = startDate;
this.endDate = endDate;
}

public static TaxComponentHistory createTaxComponentHistory(final BigDecimal percentage, final LocalDate startDate,
final LocalDate endDate) {
return new TaxComponentHistory(percentage, startDate, endDate);
public static TaxComponentHistory createTaxComponentHistory(final TaxComponent taxComponent, final BigDecimal percentage,
final LocalDate startDate, final LocalDate endDate) {
return new TaxComponentHistory(taxComponent, percentage, startDate, endDate);
}

public LocalDate startDate() {
Expand Down
Loading