Я использую Spring Tool Suite Версия: 3.9.8.RELEASE Использование репозитория, расширяющего таблицу CRUD MySQL импортирует файл CSV.
Проблема, с которой я столкнулся изначально, заключалась в том, что по некоторым причинам значения встолбец «Имя» был повторен, а также многие значения отсутствовали при извлечении из базы данных.
После обширного тестирования я понял, что значения в «Имя» дублируются (то есть несколько значений будут иметь одно и то же имя) но они также заменяли другие значения «Имя» в базе данных (которые отсутствовали).
Я избавился от столбца «Интервалы», и это устранило проблему, то есть все значения были возвращены,ни одного не хватает, и без дубликатов.Что я думаю, так это то, что MySQL каким-то образом идет в соответствии с тем, что указано в столбце «Интервалы», поскольку некоторые интервалы являются дубликатами (например, 10: 00-10: 30 могут присутствовать несколько раз, но относятся к разным значениям имени)
Мой вопрос: почему это произошло?Это из-за формата, который имел столбец «Интервалы»?(это varchar (255), но записывается как «00: 00-00: 00»
@Controller
public class Patterns {
@Autowired
private PatternRepository repo;
@RequestMapping("")
public String index() {
return "index";
}
@RequestMapping("searchAll")
public ModelAndView patterns() {
ModelAndView mv = new ModelAndView("showinfo");
ArrayList<Pattern> pattern = (ArrayList<Pattern>) repo.findAll();
mv.addObject("pattern", pattern);
return mv;
}
@Entity
public class Pattern {
@Id
@GeneratedValue
public String Intervals;
public String Name;
public String Code;
public String Duration;
public Long Id;
<h1>show info</h1>
<fieldset>
<legend>All Agent Activity</legend>
<table border="1" cellpadding="5">
<tr>
<th>Intervals</th>
<th>Name</th>
<th>Code</th>
<th>Duration</th>
</tr>
<c:forEach items="${pattern}" var = "i" >
<tr>
<td>${ i.intervals }</td>
<td>${ i.name }</td>
<td>${ i.code }</td>
<td>${ i.duration }</td>
</tr>
</c:forEach>
</table>
</fieldset>
MySQL Table