Boa noite pessoal !
Comecei a ler hoje sobre o Envers.
Estou um problema, configurei as minhas classes mas quando faço um insert…ele não cria a segunda tabela ou inseri os dados nela
Segue código abaixo
hibernate.cfg
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.dialect"> org.hibernate.dialect.MySQLMyISAMDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/teste</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">senha</property>
<property name="hibernate.hbm2dll.auto">update</property>
<property name="hibernate.show_sql">true</property>
<listener class="org.hibernate.envers.event.AuditEventListener" type="post-insert"/>
<listener class="org.hibernate.envers.event.AuditEventListener" type="post-update"/>
<listener class="org.hibernate.envers.event.AuditEventListener" type="post-delete"/>
<listener class="org.hibernate.envers.event.AuditEventListener" type="pre-collection-update"/>
<listener class="org.hibernate.envers.event.AuditEventListener" type="pre-collection-remove"/>
<listener class="org.hibernate.envers.event.AuditEventListener" type="post-collection-recreate"/>
</session-factory>
</hibernate-configuration>
Usuario
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.envers.AuditTable;
import org.hibernate.envers.Audited;
@Entity
@Audited
@AuditTable("historico")
public class Usuario implements Serializable {
@Id
@GeneratedValue
private Long id;
private String login;
private String senha;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}
Gerar tabela
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class GerarTabela {
public static void main(String[] args) {
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Usuario.class);
cfg.configure();
SchemaExport se = new SchemaExport(cfg);
se.create(true, true);
}
}
Adiciona
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class Adiciona {
public static void main(String[] args) {
Usuario u = new Usuario();
u.setLogin("FELIPE");
u.setSenha("123");
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Usuario.class);
cfg.configure();
SessionFactory factory = cfg.buildSessionFactory();
Session session = factory.openSession();
session.beginTransaction();
session.save(u);
session.close();
}
}
Saida da execução
run:
00:09:13 INFO [Version ] Hibernate Annotations 3.5.0-Final
00:09:13 INFO [Environment ] Hibernate 3.5.0-Final
00:09:13 INFO [Environment ] hibernate.properties not found
00:09:13 INFO [Environment ] Bytecode provider name : javassist
00:09:13 INFO [Environment ] using JDK 1.4 java.sql.Timestamp handling
00:09:13 INFO [Version ] Hibernate Commons Annotations 3.2.0.Final
00:09:13 INFO [Configuration ] configuring from resource: /hibernate.cfg.xml
00:09:13 INFO [Configuration ] Configuration resource: /hibernate.cfg.xml
00:09:14 INFO [Configuration ] Configured SessionFactory: null
00:09:14 INFO [HibernateSearchEventListenerRegister] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
00:09:14 INFO [AnnotationBinder ] Binding entity from annotated class: Usuario
00:09:14 INFO [EntityBinder ] Bind entity Usuario on table Usuario
00:09:14 INFO [AnnotationConfiguration] Hibernate Validator not found: ignoring
00:09:14 INFO [DriverManagerConnectionProvider] Using Hibernate built-in connection pool (not for production use!)
00:09:14 INFO [DriverManagerConnectionProvider] Hibernate connection pool size: 20
00:09:14 INFO [DriverManagerConnectionProvider] autocommit mode: false
00:09:14 INFO [DriverManagerConnectionProvider] using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/teste
00:09:14 INFO [DriverManagerConnectionProvider] connection properties: {user=root, password=****}
00:09:14 INFO [SettingsFactory ] RDBMS: MySQL, version: 5.1.41
00:09:14 INFO [SettingsFactory ] JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.7 ( $Date: 2007-03-09 22:13:57 +0100 (Fri, 09 Mar 2007) $, $Revision: 6341 $ )
00:09:14 INFO [Dialect ] Using dialect: org.hibernate.dialect.MySQLMyISAMDialect
00:09:15 INFO [JdbcSupportLoader ] Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
00:09:15 INFO [TransactionFactoryFactory] Using default transaction strategy (direct JDBC transactions)
00:09:15 INFO [TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
00:09:15 INFO [SettingsFactory ] Automatic flush during beforeCompletion(): disabled
00:09:15 INFO [SettingsFactory ] Automatic session close at end of transaction: disabled
00:09:15 INFO [SettingsFactory ] JDBC batch size: 15
00:09:15 INFO [SettingsFactory ] JDBC batch updates for versioned data: disabled
00:09:15 INFO [SettingsFactory ] Scrollable result sets: enabled
00:09:15 INFO [SettingsFactory ] JDBC3 getGeneratedKeys(): enabled
00:09:15 INFO [SettingsFactory ] Connection release mode: auto
00:09:15 INFO [SettingsFactory ] Maximum outer join fetch depth: 2
00:09:15 INFO [SettingsFactory ] Default batch fetch size: 1
00:09:15 INFO [SettingsFactory ] Generate SQL with comments: disabled
00:09:15 INFO [SettingsFactory ] Order SQL updates by primary key: disabled
00:09:15 INFO [SettingsFactory ] Order SQL inserts for batching: disabled
00:09:15 INFO [SettingsFactory ] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
00:09:15 INFO [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
00:09:15 INFO [SettingsFactory ] Query language substitutions: {}
00:09:15 INFO [SettingsFactory ] JPA-QL strict compliance: disabled
00:09:15 INFO [SettingsFactory ] Second-level cache: enabled
00:09:15 INFO [SettingsFactory ] Query cache: disabled
00:09:15 INFO [SettingsFactory ] Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
00:09:15 INFO [SettingsFactory ] Optimize cache for minimal puts: disabled
00:09:15 INFO [SettingsFactory ] Structured second-level cache entries: disabled
00:09:15 INFO [SettingsFactory ] Echoing all SQL to stdout
00:09:15 INFO [SettingsFactory ] Statistics: disabled
00:09:15 INFO [SettingsFactory ] Deleted entity synthetic identifier rollback: disabled
00:09:15 INFO [SettingsFactory ] Default entity-mode: pojo
00:09:15 INFO [SettingsFactory ] Named query checking : enabled
00:09:15 INFO [SettingsFactory ] Check Nullability in Core (should be disabled when Bean Validation is on): enabled
00:09:15 INFO [HbmBinder ] Mapping class: Usuario_AUD -> historico
00:09:15 INFO [HbmBinder ] Mapping class: org.hibernate.envers.DefaultRevisionEntity -> REVINFO
00:09:15 INFO [SessionFactoryImpl ] building session factory
00:09:15 INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured
Hibernate: insert into Usuario (login, senha) values (?, ?)
CONSTRUÍDO COM SUCESSO (tempo total: 3 segundos)
Muito obrigado pela ajuda ou alguma sugestão =p