<component> hibernate

Boa tarde galera. Estou com um problema no hibernate. Estou fazendo um exemplo de teste usando component no hibernate, mas ele esta dando esse erro de nome de tabela invalido:

create sequence SYSTEM.hibernate_sequence
create sequence hibernate_sequence
Hibernate: select hibernate_sequence.nextval from dual
Hibernate: insert into SYSTEM.USER (HOME_STREET, HOME_ZIPCODE, HOME_CITY, BILLING_STREET, BILLING_ZIPCODE, BILLING_CITY, USER_NAME, PASSWORD, EMAIL, RANKING, CREATED, ID_USER) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:249)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
	at br.com.mgf.teste.Teste.main(Teste.java:80)
Caused by: java.sql.BatchUpdateException: ORA-00903: invalid table name

	at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
	at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10657)
	at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
	... 8 more

O codigo da classe e do mapping esta abaixo.

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.mgf.modelo">

	<class name="User" table="USER" schema="SYSTEM">
	
		<id name="id" column="ID_USER" type="long">
			<generator class="sequence"/>
			
		</id>
		
		<component name="homeAddress" class="Address">
			<property name="street" type="string" column="HOME_STREET" not-null="true"/>
			<property name="zipCode" type="string" column="HOME_ZIPCODE" not-null="true"/>
			<property name="city" type="string" column="HOME_CITY" not-null="true"/>
		</component>
		
		<component name="billingAddress" class="Address">
		
			<property name="street" type="string" column="BILLING_STREET" not-null="true"/>
			<property name="zipCode" type="string" column="BILLING_ZIPCODE" not-null="true"/>
			<property name="city" type="string" column="BILLING_CITY" not-null="true"/>
							
		</component>
		
			<property name="userName" column="USER_NAME" type="string"/>
			<property name="passWord" column="PASSWORD" type="string"/>
			<property name="email" column="EMAIL" type="string"/>
			<property name="ranking" column="RANKING" type="long"/>
			<property name="created" column="CREATED" type="date"/>
		
	</class>
</hibernate-mapping>

Beans…

package br.com.mgf.modelo;

import java.io.Serializable;
import java.util.Date;

public class User implements Serializable {
	
	private Long id;
	private String userName;
	private String passWord;
	private String email;
	private Long ranking;
	private Date created;
	private Address homeAddress;
	private Address billingAddress;
		
	public Address getHomeAddress() {
		return homeAddress;
	}
	public void setHomeAddress(Address homeAddress) {
		this.homeAddress = homeAddress;
	}
	public Address getBillingAddress() {
		return billingAddress;
	}
	public void setBillingAddress(Address billingAddress) {
		this.billingAddress = billingAddress;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassWord() {
		return passWord;
	}
	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Long getRanking() {
		return ranking;
	}
	public void setRanking(Long ranking) {
		this.ranking = ranking;
	}
	public Date getCreated() {
		return created;
	}
	public void setCreated(Date created) {
		this.created = created;
	}
	
}
package br.com.mgf.modelo;

import java.io.Serializable;

public class Address  {
	
	
	private String street;
	private String zipCode;
	private String city;
	
	
	public String getStreet() {
		return street;
	}
	public void setStreet(String street) {
		this.street = street;
	}
	public String getZipCode() {
		return zipCode;
	}
	public void setZipCode(String zipCode) {
		this.zipCode = zipCode;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
}

Classe de Teste.


public class Teste {

	private static SessionFactory factory;
	private static Session session;
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		session = new CreateTable().getSession();
		Transaction tx = session.beginTransaction();
		
		CreditCard cre = new CreditCard();
		
		Address adr = new Address();
		Address adr2 = new Address();
		User user = new User();
			
		adr.setStreet("arouca");
		adr.setCity("passos");
		adr.setZipCode("37900000");
		
		adr2.setStreet("amazonas");
		adr2.setCity("passos");
		adr2.setZipCode("37900238");
		
		user.setUserName("diego");
		user.setEmail("dieguinho@mgf.com.br");
		user.setPassWord("123");
		user.setRanking(1l);
		user.setCreated(new Date());
		
		user.setHomeAddress(adr);
		user.setBillingAddress(adr2);
		
		session.save(user);
		tx.commit();
		session.close();

	}

}

O que pode ser? Agradeco a ajuda