Meal meal = new Meal(Integer.valueOf(rgb[0]),
LocalDateTime(valueOf(rgb[1]),
rgb[2],
rgb[3]);
- Ваш класс
Meal
не имеет явного конструктора, поэтому вы не можете передавать аргументы new Meal()
. Вы, кажется, пытаетесь передать два аргумента. Возможно, вы захотите создать подходящий конструктор или можете передать эти два значения в Meal
с помощью установщиков после создания объекта. LocalDateTime
- это класс, но вы, кажется, пытаетесь называть это как метод с тремя аргументами. Если это java.time.LocalDateTime
, вы, вероятно, намеревались LocalDateTime.of(someArguemts)
, но в этом классе нет метода с тремя аргументами of
. Если вы лучше объясните, какой результат вы ожидаете, мы можем лучше вам помочь. - В качестве первого аргумента для
LocalDateTime
у вас есть вызов метода valueOf
, который, кажется, не объявлен в вашем классе. , Возможно, вы предполагали Integer.valueOf
, как в предыдущей строке. - Если вы пытаетесь использовать значения RGB для инициализации даты (не знаю, какой это может иметь смысл), имейте в виду, что если ваш RGB значения go до 255, это, скорее всего, не сработает, за исключением того, что номера только месяца go до 12 и дня месяца до 31.
Я не уверен, что следующее является правильным или делает то, что вы хотите, чтобы он делал, но это предположение о том, что вы можете после.
@Override
public Meal convertToEntityAttribute(String dbData) {
String[] fields = dbData.split(SEPARATOR);
Meal meal = new Meal();
meal.setCalories(Integer.parseInt(fields[0]));
meal.setDateTime(LocalDateTime.parse(fields[1]));
meal.setDescription(fields[2]);
return meal;
}
Я пытаюсь сделать противоположный ваш convertToDatabaseColumn
метод. Я отбросил имя переменной rgb
, потому что я не видел, как она не может ввести в заблуждение здесь.