0
我使用的是春天的數據JPA獲取使用ignoreCase屬性數據爲大寫:春數據JPA查詢生成忽略大小寫,以避免列數據
Employee類:
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "EMPLOYEE")
public class Employee {
@Id
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Employee(String id, String name) {
this.id = id;
this.name = name;
}
}
測試案例來獲得存儲值:
@RunWith(SpringRunner.class)
@SpringBootTest
@DataJpaTest
public class EmapleApplicationTests {
@Autowired
private EntityManager entityManager;
@Autowired
private EmployeeRespository employeeRespository;
@Test
public void loadEmployeeData() {
entityManager.persist(new Employee("ID1", "abab"));
Employee e = employeeRespository.findByIdIgnoreCase("id1");
assertEquals("abab", e.getName());
}
}
當我使用findByIdIgnoreCase以下是如何產生的查詢:
select employee0_.id as id1_0_, employee0_.name as name2_0_ from employee employee0_ where upper(employee0_.id)=upper(?)
我不希望upper(employee0_.id)轉換爲大寫,因爲我知道數據已經在底層數據庫中大寫了。我只想要傳遞的上層(?)來獲取要轉換大寫的數據,我想這樣做來提高性能。有沒有辦法做到這一點?