Я хочу использовать стратегию SEQUENCE для автоматического создания идентификаторов, но я ломаю голову, чтобы она заработала. Я вообще не знаю, почему я не могу это сделать.
Это то, что я делаю.
Сначала у меня есть сущность:
@Entity
@SequenceGenerator(name="VlasnikSeq", sequenceName="VLA_SEQ")
public class Vlasnik implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="VlasnikSeq")
private Long id;
//...
в файле persistence.xml он сопоставлен:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="sampleAplication">
<class>entities.Vlasnik</class>
<class>entities.Ljubimac</class>
</persistence-unit>
</persistence>
Когда я использую функцию затмений для генерации таблиц для сущностей, я получаю это:
Как видите, таблицы созданы, но таблицы SEQUENCE нет.
Я также заметил в консоли следующее сообщение, когда JPA создавал таблицы:
[Предупреждение EL]: Исключение [EclipseLink-4002] (Постоянство Eclipse
Услуги - 2.3.0.v20110604-r9504):
org.eclipse.persistence.exceptions.DatabaseException Internal
Исключение: java.sql.SQLSyntaxErrorException: SEQUENCE 'VLA_SEQ' делает
не существует.
Следующее, что я думаю, это попытка запустить приложение и посмотреть, смогу ли я создать несколько строк. Но когда я пытаюсь что-то упорствовать, я получаю исключение, которое говорит:
org.apache.derby.client.am.SqlException: SEQUENCE 'VLA_SEQ' не
Итак, я пришел к выводу, что по какой-то причине мне нужна эта таблица, поэтому я перехожу к перспективе управления базой данных и пытаюсь выполнить следующий запрос:
CREATE SEQUENCE VLA_SEQ;
Но я получаю следующее сообщение:
Последовательность 'VLA_SEQ' уже существует.
Я полностью сбит с толку. Я не знаю, что мне делать. Я просто хочу автоматически генерировать идентификаторы моих сущностей при создании новой строки в БД.
Впервые я использую Glassfish 3.1, в версии 3.0, я не помню, имея эту проблему, я мог бы даже использовать только @GenneratedValue.
Я буду признателен за помощь.