Печать строки из базы данных с использованием Spring Data JPA, Hibernate и PostgreSQL - PullRequest
0 голосов
/ 22 мая 2019

Я хотел бы просто напечатать строку из базы данных, созданной автоматически с использованием Spring Boot JPA и Hibernate.Я что-то упустил, как это сделать, и не нашел его в Интернете.Причина, по которой я пытаюсь, заключается в основном в том, чтобы проверить, работает ли соединение с базой данных, а также работает ли функция извлечения данных.

Я пытаюсь напечатать строку, используя основную функцию, но проблемав том, что @Autowired в основной функции не работает так, как мне хотелось бы, потому что он статический.

Класс, в котором определен объект Forum.

@Entity
@Table(name = "forum")
public class Forum {
    @Id
    private long id;

    @Column(name = "title")
    private  String title;

    @Column(name = "creationDate")
    @Temporal(TemporalType.TIMESTAMP)
    private Date creationDate;
    //GETTER AND SETTER
} 

//The interface where I define some data retrieval functions.

@Repository
public interface ForumRepository extends CrudRepository<Forum, Long> {
    List<Forum> findAll();
    Forum findById(long id);
}


@Service
public class Test {
    @Autowired
    ForumRepository repo;

    public Forum test(){
        return repo.findById(760);
    }
}

Ответы [ 2 ]

1 голос
/ 22 мая 2019

Самый простой способ - вывести запросы на стандартный вывод - добавить в application.properties следующее:

spring.jpa.show-sql=true

Чтобы украсить или просто напечатать SQL, мы можем добавить:

spring.jpa.properties.hibernate.format_sql=true

Для печати параметров также используйте протоколирование:

logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

Ссылка: https://www.baeldung.com/sql-logging-spring-boot

0 голосов
/ 22 мая 2019

Выполните следующее как тест Junit:

@SpringBootTest
@RunWith(SpringRunner.class)
public class Test {

    @Autowired
    ForumRepository repo;

    @Test
    public voidtest(){
        assertEquals(repo.findById(720).getId(), 720);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...