|
не создаётся таблица "books" в БД MySQL при запуске приложения Spring boot
|
|||
---|---|---|---|
#18+
Уважаемые программисты. У меня произошла одна непонятность со спрингом. Как бы я не конфигурировал в файле application.properties, все равно не создаётся таблица books в БД MySQL после того как спринг приложение запустилось. Я не знаю конкретно: как сделать так чтобы класс-сущность помеченная аннотацией Entity читалась во время запуска приложения спринга, а то в логах запуска spring boot об этом ни слова, чтобы там было что-то не так( ERROR-ы , к примеру ) и таблица не создаётся вообще на основе класса Book. Что же делать и как разрешить эту ситуацию ?? Такая ситуация в проекте, что класс сущности не находится в том же пакете, что и класс приложения, что тоже может влиять на поиск сущности и сопоставлением с базой самим Hibernate. Как вы видите я использую аннотацию @EntityScan в следующем классе и указываю в ней имя пакета, где есть эти сущности есть, чтобы их спринг нашёл в указанном пакете и инстанцировал: SpringBootLearningApplication.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
вот класс-сущность Book.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68.
Я использую встроенный в спринг Hibernate. Как видно в моём pom.xml конфиге pom.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85.
все конфигурации в приложении: application.properties Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
и структура моего проекта, чтобы вы могли видеть шаблон проекта и по нему тоже судить, где у меня ошибки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.
Вот в общем-то это всё то, что касается моего проекта и происходящего в нём. Надеюсь вы мне скажете, как мне сделать так, чтобы при запуске моего проекта создалась таблица books на основе того класса Books, но при этом желательно без использования xml-конфигов. А то я совсем запутался. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 03:48 |
|
не создаётся таблица "books" в БД MySQL при запуске приложения Spring boot
|
|||
---|---|---|---|
#18+
Можно сделать через анотацию в хибернете или через application.yml задав проперти ddl-auto: create | update | validate | create-drop Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
У меня есть вменяемый пример для Облакак можно его посмотреть здесь Там есть даже sql скрип т, чтоб сразу залить в базу начальные значения. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 06:55 |
|
не создаётся таблица "books" в БД MySQL при запуске приложения Spring boot
|
|||
---|---|---|---|
#18+
Sergunka, огромное спасибо за помощь. Благодаря вашему примеру с репозиторием, я решил проблему, создав бин через метод localContainerEntityManagerFactoryBean по вашему образцу метода и потом нашёл способ, обойтись без сканирования пакетов, где есть сущности, просто сохранив содержимое бина в поле класса конфигурации, помечая его аннотацией @Autowired. только в этой строчке кода, где надо было задать проперти ddl-auto я задал update, так как это оповещает хибернейт, чтобы изменять структуру существующей базы данных при добавление в неё таблицы сущности вместо того, чтобы постоянно сбрасывать и создавать по новой. часть вашего yml конфигаspring: profiles: default jpa: database: POSTGRESQL database-platform: org.hibernate.dialect.PostgreSQLDialect show-sql: true generate-ddl: true hibernate: ddl-auto: update use-new-id-generator-mappings: true ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 07:26 |
|
не создаётся таблица "books" в БД MySQL при запуске приложения Spring boot
|
|||
---|---|---|---|
#18+
spring.jpa.hibernate.ddl-auto=update ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 09:29 |
|
не создаётся таблица "books" в БД MySQL при запуске приложения Spring boot
|
|||
---|---|---|---|
#18+
Озверинspring.jpa.hibernate.ddl-auto=update если вы работаете в intelij idea, вам это свойство, которое написали неправильно, даже подсвечивают, как "непонятно, что это?". ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 09:30 |
|
|
start [/forum/search_topic.php?author=Sergey364&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 813ms |
total: | 983ms |
0 / 0 |