persistence.xml的配置:<persistence-unit name="myJPAUnit" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="connection.url" value="jdbc:mysql://localhost:3306/hibernate_day4"/>
<property name="connection.username" value="root"/>
<property name="connection.password" value="777"/>
<property name="connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="false"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
实体类@Entity//表明该类是一个实体类
@Table(name="cst_customer")//建立当前类和数据库表的关系,如果是value可以不写。
public class Customer implements Serializable{
@Id//表名当前字段是主键
@Column(name="cst_id")//表名数据库的主键字段是cust_id
@GeneratedValue(strategy=GenerationType.IDENTITY)/*指定生成策略,strategy:使用JPA中提供的主键生成策略,
strategy不能使用hibernate中的主键生成
策略。generator可以*/
private Long custId;
@Column(name="custName")
private String custName;
@Column(name="custSource")
private String custSource;
@Column(name="custIndustry")
private String custIndustry;
@Column(name="custLevel")
private String custLevel;
@Column(name="custAddress")
private String custAddress;
@Column(name="custPhone")
private String custPhone;

public Long getCustId() {
return custId;
}
public void setCustId(Long custId) {
this.custId = custId;
}
public String getCustName() {
return custName;
}
public void setCustName(String custName) {
this.custName = custName;
}
public String getCustSource() {
return custSource;
}
public void setCustSource(String custSource) {
this.custSource = custSource;
}
public String getCustIndustry() {
return custIndustry;
}
public void setCustIndustry(String custIndustry) {
this.custIndustry = custIndustry;
}
public String getCustLevel() {
return custLevel;
}
public void setCustLevel(String custLevel) {
this.custLevel = custLevel;
}
public String getCustAddress() {
return custAddress;
}
public void setCustAddress(String custAddress) {
this.custAddress = custAddress;
}
public String getCustPhone() {
return custPhone;
}
public void setCustPhone(String custPhone) {
this.custPhone = custPhone;
}
@Override
public String toString() {
return "Customer [custId=" + custId + ", custName=" + custName
+ ", custSource=" + custSource + ", custIndustry="
+ custIndustry + ", custLevel=" + custLevel + ", custAddress="
+ custAddress + ", custPhone=" + custPhone + "]";
}
工具类public class JPAUtil {
private static EntityManagerFactory factory;
static{
factory = Persistence.createEntityManagerFactory("myJPAUnit");
}
/**
 * 获取数JPA操作数据库的方法
 * @return
 */
public static EntityManager createEntityManager(){
return factory.createEntityManager();
}
 public static void main(String[] args) {
   createEntityManager();  
 }  
}
运行工具类中的main方法,本来应该update然后创建一个表的。但是报了下面的错
错误信息Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: myJPAUnit] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:915)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
at util.JPAUtil.<clinit>(JPAUtil.java:21)
Caused by: org.hibernate.HibernateException: Connection cannot be null when 'hibernate.dialect' not set
at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:97)
at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:67)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:174)
at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2277)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2273)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1742)
at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905)
... 5 more