我通过Play Framework使用JPA,使用Mysql。
假设我有一个JQL查询,如下所示:
SELECT p FROM Person p WHERE p.address.city = 'New York'
地址字段是地址表的外键引用。
我的理解是这个查询需要对整个Person表进行表扫描," dereferencing" "地址"字段,然后也扫描地址表。即使Address对象上的city字段被编入索引,我们仍然会查看整个Person表的扫描。
我希望通过以某种方式在Person表中的p.address.city上创建索引来快速进行此查询,这在JPA / MySql中是否可行?
答案 0 :(得分:0)
我相信如果您正在使用Hibernate,您可以使用他们的注释
@org.hibernate.annotations.Table(
name="table_name",
indexes = { @Index(name="idx_", columnNames = { "xxx", "xx" } ) }
)
从@Index
包中或org.hibernate.annotations
在您的列(放置在模型中)注释
我希望这会有所帮助