Olá pessoal,
uma duvida onde posso encontrar
EntityManagerFactoryProvider não sendo do Oracle …
Queria usar outro tentei fazer o exemplo abaixo e deu erro ???
Porque não funciona pois quero criar tabelas via classes …anotações…
Mais uma duvida qdo usei provider criou no banco MYSQL sem fk ???porque ???
<persistence-unit name="exemploJPA" transaction-type="RESOURCE_LOCAL" >
<class>br.com.exemplojpa.modelo.Usuario</class>
<class>br.com.exemplojpa.modelo.Centro</class>
<class>br.com.exemplojpa.modelo.Universidade</class>
<properties>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/exemplojpa" />
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="root"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="create-tables" />
</properties>
</persistence-unit>
---
[TopLink Config]: 2008.11.27 02:51:00.800--ServerSession(31401995)--The alias name for the entity class [class br.com.exemplojpa.modelo.Universidade] is being defaulted to: Universidade.
[TopLink Config]: 2008.11.27 02:51:00.816--ServerSession(31401995)--The column name for element [private java.lang.String br.com.exemplojpa.modelo.Universidade.nome] is being defaulted to: NOME.
[TopLink Config]: 2008.11.27 02:51:00.831--ServerSession(31401995)--The alias name for the entity class [class br.com.exemplojpa.modelo.Centro] is being defaulted to: Centro.
[TopLink Config]: 2008.11.27 02:51:00.847--ServerSession(31401995)--The table name for entity [class br.com.exemplojpa.modelo.Centro] is being defaulted to: CENTRO.
[TopLink Config]: 2008.11.27 02:51:00.847--ServerSession(31401995)--The column name for element [private java.lang.String br.com.exemplojpa.modelo.Centro.nome] is being defaulted to: NOME.
[TopLink Config]: 2008.11.27 02:51:00.847--ServerSession(31401995)--The alias name for the entity class [class br.com.exemplojpa.modelo.Usuario] is being defaulted to: Usuario.
[TopLink Config]: 2008.11.27 02:51:00.910--ServerSession(31401995)--The column name for element [private java.lang.Integer br.com.exemplojpa.modelo.Usuario.id] is being defaulted to: ID.
[TopLink Config]: 2008.11.27 02:51:00.910--ServerSession(31401995)--The column name for element [private java.lang.String br.com.exemplojpa.modelo.Usuario.login] is being defaulted to: LOGIN.
[TopLink Config]: 2008.11.27 02:51:00.910--ServerSession(31401995)--The column name for element [private java.lang.String br.com.exemplojpa.modelo.Usuario.password] is being defaulted to: PASSWORD.
[TopLink Config]: 2008.11.27 02:51:00.910--ServerSession(31401995)--The column name for element [private java.lang.String br.com.exemplojpa.modelo.Usuario.nome] is being defaulted to: NOME.
[TopLink Config]: 2008.11.27 02:51:00.910--ServerSession(31401995)--The target entity (reference) class for the one to many mapping element [private java.util.Collection br.com.exemplojpa.modelo.Universidade.centros] is being defaulted to: class br.com.exemplojpa.modelo.Centro.
[TopLink Config]: 2008.11.27 02:51:00.910--ServerSession(31401995)--The target entity (reference) class for the many to one mapping element [private br.com.exemplojpa.modelo.Universidade br.com.exemplojpa.modelo.Centro.universidade] is being defaulted to: class br.com.exemplojpa.modelo.Universidade.
[TopLink Config]: 2008.11.27 02:51:00.925--ServerSession(31401995)--The primary key column name for the mapping element [private br.com.exemplojpa.modelo.Universidade br.com.exemplojpa.modelo.Centro.universidade] is being defaulted to: id_universidade.
[TopLink Info]: 2008.11.27 02:51:01.192--ServerSession(31401995)--TopLink, version: Oracle TopLink Essentials - 2006.8 (Build 060908)
Exception in thread "main" Local Exception Stack:
Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2006.8 (Build 060908)): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificadoError Code: 0
at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:289)
at oracle.toplink.essentials.sessions.DefaultConnector.connect(DefaultConnector.java:87)
at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:170)
at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:537)
at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:180)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:230)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:78)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:113)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:107)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:76)
at br.com.exemplojpa.persistencia.UsuarioDAO.<init>(UsuarioDAO.java:27)
at br.com.exemplojpa.negocio.UsuarioBusiness.inserirUsuario(UsuarioBusiness.java:20)
at br.com.exemplojpa.teste.TesteExemploJPA.main(TesteExemploJPA.java:35)
Caused by: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at oracle.toplink.essentials.sessions.DefaultConnector.connect(DefaultConnector.java:85)
... 11 more
---
---------
@Entity
@Table
public class Centro {
@Id @GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name="id_centro")
private int id;
private String nome;
@ManyToOne(fetch = FetchType.EAGER)
@PrimaryKeyJoinColumn
@JoinColumn(name="id_universidade",
insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.PERSIST)
private Universidade universidade;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Universidade getUniversidade() {
return universidade;
}
public void setUniversidade(Universidade universidade) {
this.universidade = universidade;
}
}
--------