Die folgenden Artikel unterliegen den folgenden Bedingungen
Umgebung
Java:1.8
WebFramework:SpringBoot1.5.4
DB:MySQL
Tabelle
id int
name varchar
regist_date Date
Der folgende Fehler trat auf, als ich der Sortierbedingung beim Abrufen von Daten aus der Datenbank mit findAll in Spring Boot "regist_date" hinzufügte.
Für den Typ Entitätsklassenname mit Grundursache wurde kein Eigenschaftsregister gefunden
Die Ursache war, dass ich einen Schlangenfall für Variablennamen in der Entity-Klasse verwendete. Laut DELIMITERS in Zeile 39 sind die Zeilen 259 bis 265 in "Register" und "Datum" unterteilt. Beim Angeben von Bedingungen beim Sortieren tritt ein Fehler auf.
java:org.springframework.data.mapping.PropertyPath.java
39. private static final String DELIMITERS = "_\\.";
40. private static final String ALL_UPPERCASE = "[A-Z0-9._$]+";
41. private static final Pattern SPLITTER = Pattern.compile("(?:[%s]?([%s]*?[^%s]+))".replaceAll("%s", DELIMITERS));
(Kürzung)
253. public static PropertyPath from(String source, TypeInformation<?> type) {
254.
255. Assert.hasText(source, "Source must not be null or empty!");
256. Assert.notNull(type, "TypeInformation must not be null or empty!");
257.
258. List<String> iteratorSource = new ArrayList<String>();
259. Matcher matcher = SPLITTER.matcher("_" + source);
260.
261. while (matcher.find()) {
262. iteratorSource.add(matcher.group(1));
263. }
264.
265. Iterator<String> parts = iteratorSource.iterator();
Als Gegenmaßnahme habe ich das, was ich im Schlangenkoffer geschrieben habe, in einen Kamelkoffer geändert. Ich hatte es erraten, als ich den Fehler sah,
Ich habe es untersucht.
Wenn der Spaltenname ein Kamelfall ist, stimmt der Variablenname überein. (Es ist notwendig, die NamingStrategy des Ruhezustands im Spring Boot in EJB3NamingStrategy zu ändern, aber [Unverified]) Es mag eine Meinung geben, aber der Spaltenname sollte ein Schlangenfall sein, also lass es so wie es ist
Referenz [[Zusätzliche Korrektur] Vorsichtsmaßnahmen beim Angeben des Tabellennamens mithilfe der Tabellenanmerkung in Spring Boot JPA](http://mao-instantlife.hatenablog.com/entry/2015/07/29/JPA? Tabellenanmerkung Zeigen Sie mit auf den Tabellennamen