Les articles suivants sont soumis aux conditions suivantes
environnement
Java:1.8
WebFramework:SpringBoot1.5.4
DB:MySQL
table
id int
name varchar
regist_date Date
L'erreur suivante s'est produite lorsque j'ai ajouté regist_date
à la condition de tri lors de la récupération de données à partir de la base de données à l'aide de findAll dans Spring Boot.
Aucun registre de propriétés trouvé pour le type Nom de classe d'entité avec cause racine
La cause était que j'utilisais un cas de serpent pour les noms de variables dans la classe Entity. Selon DELIMITERS à la ligne 39, les lignes 259 à 265 sont divisées en «registre» et «date». Une erreur se produit lors de la spécification des conditions lors du tri.
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));
(réduction)
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();
En guise de contre-mesure, j'ai changé ce que j'avais écrit dans l'affaire du serpent en une caisse de chameau. Je l'avais deviné quand j'ai vu l'erreur,
--Je veux faire correspondre le nom de la variable avec le nom de la colonne ――Je ne veux pas changer la politique même si la cause n'est pas claire
Je l'ai enquêté.
De plus, si le nom de la colonne est un cas de chameau, le nom de la variable correspondra? (Il est nécessaire de changer la NamingStrategy d'Hibernate dans Spring Boot en EJB3NamingStrategy, mais [Non vérifié]) Il peut y avoir une opinion, mais le nom de la colonne doit être un cas de serpent, alors laissez-le tel quel
référence [[Correction supplémentaire] Précautions lors de la spécification d'un nom de table à l'aide de l'annotation Table dans Spring Boot JPA](http://mao-instantlife.hatenablog.com/entry/2015/07/29/JPA? Annotation de table Utilisez pour pointer sur le nom de la table)
Recommended Posts