Nel mio progetto primavera dati Ho un seguenti entità:primavera dati - condizione OR in nome di un metodo repository
@Entity
@NamedEntityGraph(name = "graph.CardPair", attributeNodes = {})
@Table(name = "card_pairs")
public class CardPair extends BaseEntity implements Serializable {
private static final long serialVersionUID = 7571004010972840728L;
@Id
@SequenceGenerator(name = "card_pairs_id_seq", sequenceName = "card_pairs_id_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "card_pairs_id_seq")
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "card1_id")
private Card card1;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "card2_id")
private Card card2;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "selected_card_id")
private Card selectedCard;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "board_id")
private Board board;
....
}
ho bisogno di implementare un metodo repository primavera dati che cercare un CardPair
basata su cardPairId
, board
e card
. Il caso più complicato per me è un Card
perché ho bisogno di costruire una condizione in cui card1 = card or card2 = card
E 'possibile fornire questa condizione tramite il nome del metodo di deposito dati Spring Data?
Per esempio
cardPairRepository.findByIdAndBoardAnd[card1 = card or card2 = card]AndSelectedCardIsNull(cardPairId, board, card);
E 'possibile tradurre questa condizione card1 = card or card2 = card
in nome di un metodo?
Siete solo in cerca di un nome di metodo qui? –
Sì, non posso costruire questo nome metodo con una condizione menzionata – alexanoid
Utilizzare i metodi finder solo per casi di utilizzo semplice, per casi più complessi scrivere una query e utilizzare l'annotazione '@ Query'. –