Spring支持通過要查找的對象的示例創建查詢。像:通過示例查詢跳過原語?
//if not setting the age, it will always look for age=0
Person p = new Person();
p.setLastName("Smith");
List<Person> foundPersons = personRepository.findAll(Example.of(p));
@Entity
public class Person {
private String firstName;
private String lastName;
private LocalDate dob;
private int age;
}
問題:如果@Entity
具有原始字段,然後它們的默認值實際上將用於創建查詢。上面的例子將導致:
SELECT * from persons where lastname := 'Smith' and age := 0
在我的例子我有一個數據庫字段,其中age
必須充滿,這樣是不允許被null
。因此該實體具有原始int age
字段。
當然,我現在可以將該字段更改爲Integer age
,但那時我會將該字段標記爲可選的可空屬性,這是不正確的。
那麼,如何跳過Example
上未設置的基元?
我會使用整數方法。如果你對年齡有限制,我認爲不會有任何問題。 –