情况: (作为实体的类)
我如何在subclass1Repository中实现这一点:
findByProperty_property2(xx)
显然我发现“无属性”属性2“找到类型 class1 ,遍历路径: class2 .property2。
显然,JPA不知道属性的类型为 subclass2 。
@Entity
open class Class1 constructor(
@ManyToOne property: Class2
)
@Entity
open class Class 2 constructor() {
}
@Entity
open class subclass1 constructor(
property: Subclass2
):Class1(property = property)
@Entity
open class subclass2 constructor(
property2: Double
):Class2(..)
interface subclass1Repository: JpaRepository<Subclass1, Long>{
fun findByProperty_property2(prop2:Double): List<Subclass1>
}
答案 0 :(得分:0)
您想映射subclass1
和subclass2
吗?我对你的问题感到有点失落......但希望这对你有价值。
@Entity
public class Foo1 {
@Id
private int id; // primary key is great to have for map tables.
@ManyToMany // or something
@JoinTables(...
private List<Foo2> foo2;
}
@Entity
public class Foo2 {
@Id
private int id;
@ManyToMany(mappedBy="foo2")
private List<Foo1> foo1;
}
创建getter和setter。
foo2的存储库:
public interface Foo2Repository extends CrudRepository<Foo2, Long> {
Foo2 findBySomeValue(Double doubleValue);
您可以为方法创建@Service类:
@Service
public class FooService {
@Autowired
private Foo2Repository foo2Repository;
public List<Foo1> ListMyFoo(Double doubleValue) {
return this.yourInterface.findBySomeValue(doubleValue).getFoo1();
}
它会回复你一个基于List的Foo2 SomeValue是真的。