无法为这个给定问题的查询创建正确的 itnerface。
我有这个实体:
public class TwoEntity extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/*
* ATTRIBUTE
*/
private String groupName;
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<OneEntity> oneList;
还有 Crud 存储库:
public interface TwoRepository extends CrudRepository<TwoEntity, Long> {
TwoEntityfindById(Long id);
TwoEntityfindByGroupName(String groupName);
List<TwoEntity> findBy????(OneEntity oe);
我的目标是获取所有 TwoEntities,其中 OneEntitie 是 TwoEntity 列表中的元素。 我正在使用 Spring boot 和 Hibernate 来完成此任务。我无法从数据库中删除 OneEntity 对象,因为 TwoEntity 在列表中将 OneEntity 作为外键。
是否有办法让它与界面中给定的工具一起使用? 可用关键字列表可在此处找到:spring docs for crud
/E
我想我的架构是错误的。目前我在这些实体之间有单向关系。我想我必须使这些实体双向并使用 oneList.setList(null)
手动删除它们。
但我不是 100% 确定。打开以供输入。
最佳答案
你可以使用这个:
List<TwoEntity> findByOneList_Id(Long oneEntityId)
但是您需要从 JpaRepository 扩展
public interface TwoRepository extends JpaRepository<TwoEntity, Long> {
该方法将被翻译为
twoEntity.oneList.id
这里是官方文档
关于java - Spring Boot findByIdIn 内部列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40652278/