私は2つのエンティティを持っています:
@Entity
public class Car {
    @Id
    private Long id;
    @OneToOne
    private Engine engine;
}
そしてもう一つ:
@Entity
public class Engine {
    @Id
    private Long id;
    @Column
    private String value1;
    @Column
    private String value2;
}
私の jpaRepositoy インターフェースで、やりたいこと:
public interface CarRepository extends JpaRepository<Car, Long> {
    public Car findByEngine(Engine engine);
}
しかし、次のようにしてエンジンを作成したため、このメソッドは格納されたエンティティを返しません。
Engine engine = new Engine("someValue", "someValue");
データベースに保存されているエンジンのIDを設定せずに。
id のような列を除外できるかどうか知りたいですか?いいえの場合、これを行う唯一の方法は次のとおりです。
@Query("SELECT c FROM Car c WHERE c.engine.value1 = :value1 and c.engine.value2 = :value2")
findByEngine(@Param("value1") String value1, @Param("value2") String value2)
?
関連する質問: OneToOne ではなく OneToMany の関係がある場合、
@Entity
public class Car {
    @Id
    private Long id;
    @OneToMany
    private List<Engine> engines;
}
このリクエストを次のようにするにはどうすればよいですか (まだ id 列はありません):
public Car findByEngines(List<Engine> engines);
どうもありがとう !