Это мой класс модели:
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name="[exclusive_data]")
public class OrderControlDataBean {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
Long id;
@Column(name = "Body_Code")
String bodyCode;
@Column(name = "Merchant_Item_No")
String merchantItemNo;
@Column(name = "Merchant_No")
String no;
}
Это мой интерфейс репозитория
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.mypackage.mss.oas.filetransfer.app.model.OrderControlDataBean;
@Repository
@Transactional
public interface OrderControlRepository extends
JpaRepository<OrderControlDataBean, Long> {
public void deleteAllInBatch();
List<OrderControlDataBean> save(List<OrderControlDataBean>
orderControlDataBeans);
}
Ниже приведен уровень обслуживания, который вызывает этот метод сохранения:
@Service
@EnableScheduling
public class FTPClientService {
private static final Logger logger =
LoggerFactory.getLogger(FTPClientService.class);
try {
// FTP Client connection code here//
BufferedReader reader = new BufferedReader(new
InputStreamReader(inputStream));
String line = null;
while ((line = reader.readLine()) != null) {
OrderControlDataBean orderControlBean = extractOrderControlBean(line);
if (!(orderControlBean.getBodyCode() == null))
if (!(orderControlBean.getMerchantItemNo() == null))
if (!(orderControlBean.getNo() == null))
inputList.add(orderControlBean);
}
success = ftpClient.completePendingCommand();
repository.deleteAllInBatch();
repository.save(inputList);
} catch (IOException ex) {
logger.error("Error: " + ex.getMessage());
ex.printStackTrace();
} catch (Exception e) {
logger.error("Error: " + e.getMessage());
e.printStackTrace();
} finally {
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
logger.error("Error while closing the FTP connection.");
ex.printStackTrace();
}
}
logger.info("Loading OrderControl Data Completed Successfully");
}
Я получаю заполненный массив из данных ftp. Сбой при сохранении в базу данных.Я получаю исключение ниже независимо от того, что я делаю:
org.springframework.beans.NotReadablePropertyException: недопустимое свойство 'id' класса бина [java.util.ArrayList]: не удалось найти поле для свойстваво время резервного доступа!
Таблица базы данных имеет идентификатор [id] [int] IDENTITY (1,1) NOT NULL.Это MS SQL Server.
Кто-нибудь может помочь?
Спасибо