Таблицы не видны в MySQL, хотя приложение работает - PullRequest
0 голосов
/ 06 января 2012

Я использую eclipselink с glassfish 3.1 и netbeans IDE с mysql 5.5.19 в качестве БД и Windows в качестве ОС.Я написал модуль регистрации пользователей, используя приведенный ниже код.Пользователи зарегистрированы, и я не получаю ошибки, и я захожу в приложение, используя зарегистрированного пользователя.Проблема в том, что я не могу просмотреть таблицы, которые я создал, в MySQL.Я использовал команду «Показать таблицы» после подключения к MySQL через командную строку.Файл 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="PerfumePU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>persistence.UserAddress</class>
<class>persistence.UserDetails</class>
<properties>
  <property name="eclipselink.ddl-generation" value="create-tables"/>
  <property name="eclipselink.target-database" value="MYSQL"/>
  <property name="eclipselink.ddl-generation.output-mode" value="database"/>
  <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
  <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/Perfume"/>
  <property name="eclipselink.logging.level" value="INFO"/>
</properties>
</persistence-unit>
</persistence>

Удаленный интерфейс EJB:

@Remote
public interface RegisterEJBRemote {
    boolean CreateUser(UserDetails user,UserAddress userAddress);
}

Класс EJB:

@Stateless
@LocalBean
public class RegisterEJB implements RegisterEJBRemote{
   @PersistenceContext(unitName="PerfumePU")
   private EntityManager em;
   public boolean CreateUser(UserDetails userDetails,UserAddress userAddress){
       boolean returnValue=true;
       try{
          em.persist(userDetails);
          em.persist(userAddress);
        }catch(Exception ex){
           //some code
         }
        return returnValue;
   }
}

И клиент является управляемымbean (с использованием JSF 2.0)

@ManagedBean
public class Register extends AbstractBean{
    @EJB
    private RegisterEJB registerEJB;
    public String RegisterAction(){
    String result="failure";
    //Creating the entities 
    UserAddress userAddress=new UserAddress( ) ;
    UserDetails userDetails=new UserDetails();
    boolean returnValue=registerEJB.CreateUser(userDetails,userAddress);
     //more code
    }
  }

Я новичок в JPA и впервые использую EJB.Я действительно хотел бы знать, где мои столы.Я создал базу данных с именем Perfume вручную.

...