// Path: src/main/java/br/fatea/simplebank/model/domains/Payment.java
// @Entity
// @Table(name="TBL_PAYMENT")
// @Audited(targetAuditMode=RelationTargetAuditMode.NOT_AUDITED)
// public class Payment {
// 	
// 	@Id
// 	@GeneratedValue(strategy=GenerationType.IDENTITY)
// 	@Column(name="PAY_ID")
// 	private Long id;
// 	
// 	@Column(name="PAY_ORDER")
// 	@NotNull
// 	private String order;
// 	
// 	@Enumerated(EnumType.STRING)
// 	@Column(name="PAY_STATUS")
// 	@NotNull
// 	private PaymentStatus status;
// 	
// 	@Column(name="PAY_REG_DATE")
// 	@NotNull
// 	private Calendar registrationDate;
// 
// 	@ManyToOne(optional=false, cascade={CascadeType.PERSIST, CascadeType.MERGE})
// 	@JoinColumn(name="CRC_ID")
// 	private CreditCard creditCard;
// 
// 	@ManyToOne(optional=false, cascade={CascadeType.PERSIST, CascadeType.MERGE})
// 	@JoinColumn(name="SUS_ID")
// 	private SystemUser owner;
// 	
// 
// 	public Long getId() {
// 		return id;
// 	}
// 
// 	public void setId(Long id) {
// 		this.id = id;
// 	}
// 
// 	public String getOrder() {
// 		return order;
// 	}
// 
// 	public void setOrder(String order) {
// 		this.order = order;
// 	}
// 
// 	public PaymentStatus getStatus() {
// 		return status;
// 	}
// 
// 	public void setStatus(PaymentStatus status) {
// 		this.status = status;
// 	}
// 
// 	public Calendar getRegistrationDate() {
// 		return registrationDate;
// 	}
// 
// 	public void setRegistrationDate(Calendar registrationDate) {
// 		this.registrationDate = registrationDate;
// 	}
// 
// 	public CreditCard getCreditCard() {
// 		return creditCard;
// 	}
// 
// 	public void setCreditCard(CreditCard creditCard) {
// 		this.creditCard = creditCard;
// 	}
// 
// 	public SystemUser getOwner() {
// 		return owner;
// 	}
// 
// 	public void setOwner(SystemUser owner) {
// 		this.owner = owner;
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result + ((order == null) ? 0 : order.hashCode());
// 		result = prime * result + ((owner == null) ? 0 : owner.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (getClass() != obj.getClass())
// 			return false;
// 		Payment other = (Payment) obj;
// 		if (order == null) {
// 			if (other.order != null)
// 				return false;
// 		} else if (!order.equals(other.order))
// 			return false;
// 		if (owner == null) {
// 			if (other.owner != null)
// 				return false;
// 		} else if (!owner.equals(other.owner))
// 			return false;
// 		return true;
// 	}
// 	
// }
// 
// Path: src/main/java/br/fatea/simplebank/soap/payment/v1/PaymentStatus.java
// @XmlType(name = "paymentStatus")
// @XmlEnum
// public enum PaymentStatus {
// 
//     OPENED,
//     CONFIRMED,
//     REVERSED,
//     CANCELED;
// 
//     public String value() {
//         return name();
//     }
// 
//     public static PaymentStatus fromValue(String v) {
//         return valueOf(v);
//     }
// 
// }


import java.util.List;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import br.fatea.simplebank.model.domains.Payment;
import br.fatea.simplebank.soap.payment.v1.PaymentStatus;
package br.fatea.simplebank.model.repositories;




@Repository
public interface PaymentRepository extends CrudRepository<Payment, Long> {

// Path: src/main/java/br/fatea/simplebank/model/domains/Payment.java
// @Entity
// @Table(name="TBL_PAYMENT")
// @Audited(targetAuditMode=RelationTargetAuditMode.NOT_AUDITED)
// public class Payment {
// 	
// 	@Id
// 	@GeneratedValue(strategy=GenerationType.IDENTITY)
// 	@Column(name="PAY_ID")
// 	private Long id;
// 	
// 	@Column(name="PAY_ORDER")
// 	@NotNull
// 	private String order;
// 	
// 	@Enumerated(EnumType.STRING)
// 	@Column(name="PAY_STATUS")
// 	@NotNull
// 	private PaymentStatus status;
// 	
// 	@Column(name="PAY_REG_DATE")
// 	@NotNull
// 	private Calendar registrationDate;
// 
// 	@ManyToOne(optional=false, cascade={CascadeType.PERSIST, CascadeType.MERGE})
// 	@JoinColumn(name="CRC_ID")
// 	private CreditCard creditCard;
// 
// 	@ManyToOne(optional=false, cascade={CascadeType.PERSIST, CascadeType.MERGE})
// 	@JoinColumn(name="SUS_ID")
// 	private SystemUser owner;
// 	
// 
// 	public Long getId() {
// 		return id;
// 	}
// 
// 	public void setId(Long id) {
// 		this.id = id;
// 	}
// 
// 	public String getOrder() {
// 		return order;
// 	}
// 
// 	public void setOrder(String order) {
// 		this.order = order;
// 	}
// 
// 	public PaymentStatus getStatus() {
// 		return status;
// 	}
// 
// 	public void setStatus(PaymentStatus status) {
// 		this.status = status;
// 	}
// 
// 	public Calendar getRegistrationDate() {
// 		return registrationDate;
// 	}
// 
// 	public void setRegistrationDate(Calendar registrationDate) {
// 		this.registrationDate = registrationDate;
// 	}
// 
// 	public CreditCard getCreditCard() {
// 		return creditCard;
// 	}
// 
// 	public void setCreditCard(CreditCard creditCard) {
// 		this.creditCard = creditCard;
// 	}
// 
// 	public SystemUser getOwner() {
// 		return owner;
// 	}
// 
// 	public void setOwner(SystemUser owner) {
// 		this.owner = owner;
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result + ((order == null) ? 0 : order.hashCode());
// 		result = prime * result + ((owner == null) ? 0 : owner.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (getClass() != obj.getClass())
// 			return false;
// 		Payment other = (Payment) obj;
// 		if (order == null) {
// 			if (other.order != null)
// 				return false;
// 		} else if (!order.equals(other.order))
// 			return false;
// 		if (owner == null) {
// 			if (other.owner != null)
// 				return false;
// 		} else if (!owner.equals(other.owner))
// 			return false;
// 		return true;
// 	}
// 	
// }
// 
// Path: src/main/java/br/fatea/simplebank/soap/payment/v1/PaymentStatus.java
// @XmlType(name = "paymentStatus")
// @XmlEnum
// public enum PaymentStatus {
// 
//     OPENED,
//     CONFIRMED,
//     REVERSED,
//     CANCELED;
// 
//     public String value() {
//         return name();
//     }
// 
//     public static PaymentStatus fromValue(String v) {
//         return valueOf(v);
//     }
// 
// }


// Path: src/main/java/br/fatea/simplebank/model/repositories/PaymentRepository.java
import java.util.List;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import br.fatea.simplebank.model.domains.Payment;
import br.fatea.simplebank.soap.payment.v1.PaymentStatus;

package br.fatea.simplebank.model.repositories;




@Repository
public interface PaymentRepository extends CrudRepository<Payment, Long> {

	public List<Payment> findAllByStatus(PaymentStatus status);