J'essaye d'obtenir un exemple simple envers pour fonctionner. J'ai le code de Java fonctionnant (apparemment), et j'ai finalement got the org.hibernate.tool.ant.EnversHibernateToolTask to work, mais il produit seulement le SQL pour les données "régulières", pas les données de versioning. Je suis perplexe pour ce qu'il faut faire ensuite.difficultés pour obtenir un exemple de retourné simple au travail: problème # 34
Que pourrais-je oublier d'inclure?
Voici le SQL qu'il génère: {} versioning-ddl.sql
create table Event (
id bigint generated by default as identity (start with 1),
date timestamp,
title varchar(255),
primary key (id)
);
create table Person (
id bigint generated by default as identity (start with 1),
age integer not null,
firstname varchar(255),
lastname varchar(255),
primary key (id)
);
create table PersonEvent (
eventID bigint not null,
personID bigint not null,
primary key (eventID, personID)
);
alter table PersonEvent
add constraint FK489E5C25F6E47374
foreign key (personID)
references Event;
alter table PersonEvent
add constraint FK489E5C25729F3820
foreign key (eventID)
references Person;
Je ne vois pas de tables histoire/champs. Voici les entrées pertinentes dans mon dossier hibernate.cfg.xml:
<hibernate-configuration>
<session-factory>
...
<property name="hibernate.ejb.event.post-insert">org.hibernate.envers.event.AuditEventListener</property>
<property name="hibernate.ejb.event.post-update">org.hibernate.envers.event.AuditEventListener</property>
<property name="hibernate.ejb.event.post-delete">org.hibernate.envers.event.AuditEventListener</property>
<property name="hibernate.ejb.event.pre-collection-update">org.hibernate.envers.event.AuditEventListener</property>
<property name="hibernate.ejb.event.pre-collection-remove">org.hibernate.envers.event.AuditEventListener</property>
<property name="hibernate.ejb.event.post-collection-recreate">org.hibernate.envers.event.AuditEventListener</property>
<mapping class="com.example.test.hibernate.test1.Event"/>
<mapping class="com.example.test.hibernate.test1.Person"/>
</session-factory>
</hibernate-configuration>
et les parties importantes des classes Java:
@Entity
@Audited
public class Event {
@Id
@GeneratedValue
private Long id;
private String title;
private Date date;
...
}
@Entity
@Audited
public class Person {
@Id
@GeneratedValue
private Long id;
private int age;
private String firstname;
private String lastname;
...
}
Quelles sont les versions de mise en veille prolongée et utilisez-vous Envers? –