如何通过父对象的昵称过滤子对象来获取所有子对象?
我有父实体:
import jakarta.persistence.*;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@Entity
@Data
@Table(name = "parent")
public class ParentEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Byte id;
private Integer age;
@Column(columnDefinition = "VARCHAR(100)")
private String nickname;
}
字符串
我有子实体:
import jakarta.persistence.*;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@Entity
@Data
@Table(name = "child")
public class ChildEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String surname;
@Column(name = "parent_id", nullable = false)
private Byte parentId;
@ManyToOne(targetEntity = ParentEntity.class)
@JoinColumn(name = "parent_id", updatable = false, insertable = false)
private ParentEntity parentEntity;
}
型
我有一个repository:
import com.example.ParentEntity;
import com.example.ChildEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface ChildRepository extends JpaRepository<ChildEntity, String> {
// I guess something like this but I was not able to figure out
List<ChildEntity> findAllByParentEntity(String nickname);
}
型
2条答案
按热度按时间mf98qq941#
这将返回所有其父代具有参数中昵称的ChildEntity:
字符串
j8yoct9x2#
我建议使用query methods,其中查询直接从方法名称派生,而无需手动编写。
在您的情况下,该方法应定义如下:
字符串