Я читал несколько статей о том, что такое JPA (Java Persistent API)
и какой поставщик поддерживает его (DataNucleus, JBoss Hibernate и т.д.)
У меня нет опыта работы с ORM (реляционное сопоставление объектов).
Что я сделал до сих пор, так это написать свои собственные классы базы данных, используя DTO и DAO. До сих пор я доволен тем, что у меня есть, но хотел бы знать , почему люди используют JPA над Java файлом, который содержит SQL.
Мне кажется, что писать класс DAO будет нормально, как показано ниже.
public class DAOUsers {
public void insertNewUser(DTO DtoUser) {
String query = "INSERT INTO users(username, address) " +
"VALUES(DtoUser.username , DtoUser.address)";
Executor.run(query);
}
}
Я узнал, что JPA использует язык JPQL, Java persistent query и работает против объекта entity а не напрямую с таблицами db.
Мое понимание (исправьте меня, если я ошибаюсь), что объект объекта здесь такой же, как мой объект DTO (вроде как bean?)
Но так или иначе.. что действительно выгодно JPA дает над написанием чистого SQL в моем файле? Похоже, что использование аннотаций, требуемых JPA, и сделать SQL нечитаемым, кажется мне не очень привлекательным.
пожалуйста, дайте мне знать, если вам нужно больше разъяснений, я новичок в этой теме и хотел бы услышать какое-то мнение.