Сначала я хочу сказать, что я в школе программирования, и в курсе, называемом разработкой проекта, я получил половину готового проекта от старших, чтобы продолжить. Так что, разумеется, я не знаю проект наизусть и что в паре с моей неопытности, надеюсь, вы сможете простить мои, возможно, глупые вопросы.Содержимое БД удаляется каждый раз, когда я запускаю приложение
Это веб-приложение Maven, использующее язык Java. База данных представляет собой Simpe JAVA DB (Derby), сервер - Glassfish 4.0. Оба они используются в среде Netbeans 8.0.
Теперь актуальная проблема. Приложение представляет собой инструмент для создания онлайн-анкеты, поэтому пользователь может создавать вопросы, отвечать, загружать изображение и т. Д. И он работает, все хранится в БД и сохраняется, я проверил вручную, и данные есть и остаются там после закрытие приложения. Однако, как только я заново запускаю приложение, все содержимое БД теряется. И все же не совсем, кажется, что только идентификатор удаляется, поскольку, когда я снова загружаю изображение, вместо него появляются старые (имеющие одинаковый идентификатор), которые я загрузил в последний сеанс.
Ofc, моя первая мысль была persistence.xml, и я установил для нее Стратегию создания таблиц «none». Вот мой persistence.xml (EclipseLink (JPA 2.1)):
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="OnlineTestCreatorPU" transaction-type="JTA">
<jta-data-source>jdbc/online_test_creator_db</jta-data-source>
<properties>
</properties>
</persistence-unit>
</persistence>
Этой техника его подводит решить вопрос либо, так что потом я пошел в GlassFish-ressources.xml и удалил "создает = истинное" Свойство. Это тоже не решило.
Я слышал от друга, что иногда программа не восстанавливается с новыми настройками должным образом, и я должен убедиться, что она очищает правильно. Таким образом, я очистил приложение 10 раз успешно и снова создал все, но не добился результата. Я также удостоверился, что имя базы данных совпадает с записями в моем файле persistence.xml и glassfish-ressources.xml. Я честно в конце моих (довольно ограниченных) знаний.
Так что же может привести к тому, что все содержимое моей базы данных исчезнет при каждом запуске приложения?
Если ничего не хватает, и вам нужна дополнительная информация, просто дайте мне знать, и я постараюсь доказать это в меру своих возможностей.
Большое спасибо за информативный ответ. Фактическое решение было более простым, очевидно, отключив компьютер, оставив его на ночь, а затем снова попробовав помощь, теперь он работает только с стратегией создания таблицы, установленной на «Нет». Мое единственное предположение, что он продолжал использовать старую версию persistence.xml, которая могла быть в ОЗУ, и каким-то образом удалось избежать моей очистки и даже перезапустить Netbeans. Однако ваш ответ по-прежнему был очень информативным, и, особенно, пункт 3., теперь будет огромной помощью. Так что спасибо тебе. – 404KnowledgeNotFound
Добро пожаловать :) – unwichtich