ale*_*oid 17 java spring jpa spring-data spring-data-jpa
在我的Spring Data项目中,我有一个以下实体:
@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;
....
}
Run Code Online (Sandbox Code Playgroud)
我需要实现一个Spring数据仓库方法,它会寻找一个CardPair基于cardPairId,board和card.对我来说更复杂的情况是Card因为我需要构建一个条件card1 = card or card2 = card
是否可以通过Spring Data存储库方法名称提供此条件?
例如
cardPairRepository.findByIdAndBoardAnd[card1 = card or card2 = card]AndSelectedCardIsNull(cardPairId, board, card);
Run Code Online (Sandbox Code Playgroud)
是否可以card1 = card or card2 = card在方法名称中翻译此条件?
Ale*_*ets 10
使用方法名称是不可能实现这一点的,因为你需要最后一个条件在括号中:id = ? AND board = ? AND (card1 = ? OR card2 = ?).无法从方法名称推断出这一点,因为它仅用于涵盖基本情况.
您的案例有三种方式:
| 归档时间: |
|
| 查看次数: |
17299 次 |
| 最近记录: |