package kr.debop4j.data.ogm.test.associations.collection.manytomany;
import com.google.common.collect.Sets;
import kr.debop4j.core.tools.HashTool;
import kr.debop4j.data.ogm.model.UuidEntityBase;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.Cascade;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.ManyToMany;
import java.util.Set;
/**
* AccountOwner
*
* @author 배성혁 ( sunghyouk.bae@gmail.com )
* 13. 3. 29. 오후 9:09
*/
@Entity
@Getter
@Setter
public class AccountOwner extends UuidEntityBase {
private String SSN;
@ManyToMany(cascade = { CascadeType.ALL })
@Cascade(org.hibernate.annotations.CascadeType.ALL)
public Set<BankAccount> bankAccounts = Sets.newHashSet();
@Override
public int hashCode() {
if (getId() != null)
return super.hashCode();
return HashTool.compute(SSN);
}
}