기존 Mysql 데이터베이스에서 JPA/Hibernate를 사용하여 새로운 Play 애플리케이션을 만들려고합니다.이미 존재하는 데이터베이스로부터 Hibernate를 올바르게 구현하는 방법?
hibernate.hbm2ddl.auto
의 지속성 파일은 "업데이트"로 설정됩니다.
내 테이블 게시물에 6 개의 항목이 있습니다. 문제가 "SELECT p FROM Posts p"
과 같은 HQL 문을 실행할 때 빈 결과가 나타나고 "SELECT * FROM posts"
과 같은 원시 쿼리를 실행하면 기존 항목이 생깁니다.
나는 여기에 거대한 무언가를 놓치고 있다고 생각한다. hibernate의 내부 캐싱 시스템이나 뭐 그런 것처럼,이 빈 결과를 설명 할 수있는 것이 무엇인가? Hibernate는 HQL 문으로 정확한 결과를 반환하도록 기존 데이터베이스에서 사용될 때 특정 캐시를 생성해야합니까? 왜 그런 일이 필요한거야?
기존 데이터베이스의 경우 자동 DDL을 사용하지 마십시오. 기존 데이터베이스 스키마에 깔끔하게 매핑되는 엔티티를 작성해야합니다. 테이블 이름과 같은 것으로 불일치 할 수 있습니다 (예 : 일반적으로 클래스 이름은'Post' 여야합니다). – chrylis
고마워, 너는 나에게 길을 보여줬다. 그것은 실제로 일부 필드의 매핑 문제 였고, 최대 절전 모드가 매핑 검사를 통과하지 못하면 앱을 실행할 수 있다는 것이 이상하다. – Aphax