FindColumn как строка и Find как сущность. Ведьма одна лучше?JAVA

Программисты JAVA общаются здесь
Anonymous
FindColumn как строка и Find как сущность. Ведьма одна лучше?

Сообщение Anonymous »

Может быть, это глупый вопрос, но я хочу знать, какой способ лучше с точки зрения производительности, передового опыта и т. д.
Представим, что у нас есть таблица-книга с 10 столбцами, 2 из них — это идентификатор и имя. Теперь мы хотим восстановить оттуда только имя. Так лучше:

Код: Выделить всё

//Repo
public interface boookRepo extends JpaRepository {
@Query(value = "select name from books where bookId = :bookId", nativeQuery = true)
String findNameByBookId(String bookId);
}
//Book
@Entity
@Table(schema = "bookShelf", name = "book")
@Getter
@Setter
@Data
@IdClass(bookId.class)
public class Book {

@Id
private String bookId;
private String name;

}
//service
@Service
@Log4j2
public class BookServ implements IBook {

@Autowired
private BookRepository bookrepo;

@Override
public String getName(String bookId) {
return bookrepo.findNameByBookId(bookId);
}

или вот этот:

Код: Выделить всё

//repo
public interface boookRepo extends JpaRepository {
Book findFirstByBookId(String bookId);
}
//entity
@Entity
@Table(schema = "bookShelf", name = "book")
@Getter
@Setter
@Data
@IdClass(bookId.class)
public class Book {

@Id
private String bookId;
private String name;

}
//service
@Service
@Log4j2
public class BookServ implements IBook {

@Autowired
private BookRepository bookrepo;

@Override
public String getName(String bookId) {
return bookrepo.findNameByBookId(bookId).getName();
}
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... -is-better

Вернуться в «JAVA»