【发布时间】:2019-11-23 01:11:02
【问题描述】:
我正在尝试使用 Java Persistence API 在 mysql 数据库中插入学生数据。我的代码没有抛出任何异常。但是实体表并没有在数据库中创建。
持久化类:
public class PersistStudent {
public static void main(String args[])
{
EntityManagerFactory emf = Persistence.createEntityManagerFactory("Student_details");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
try
{
StudentEntity s = new StudentEntity();
s.setS_id(101);
s.setS_name("Ram");
s.setS_fee("5000");
em.persist(s);
}
catch(Exception e)
{
em.getTransaction().commit();
}
em.close();
emf.close();
}
}
实体类:
package DEMO.JPA;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="students")
public class StudentEntity {
@Id
private int s_id;
private String s_name;
private String s_fee;
public int getS_id() {
return s_id;
}
public void setS_id(int s_id) {
this.s_id = s_id;
}
public String getS_name() {
return s_name;
}
public void setS_name(String s_name) {
this.s_name = s_name;
}
public String getS_fee() {
return s_fee;
}
public void setS_fee(String s_fee) {
this.s_fee = s_fee;
}
}
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="Student_details">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>DEMO.JPA.StudentEntity</class>
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpa" />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.username" value="root" />
<property name="hibernate.connection.password" value="" />
<property name="hibernate.archive.autodetection" value="class" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
</persistence>
控制台:
2019 年 7 月 13 日上午 8:13:53 org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation 信息:HHH000204:处理中 PersistenceUnitInfo [名称:Student_details ...] 2019 年 7 月 13 日 上午 8 点 13 分 53 秒 org.hibernate.Version logVersion 信息:HHH000412:休眠 核心 {5.1.0.Final} 2019 年 7 月 13 日上午 8:13:53 org.hibernate.cfg.Environment 信息:HHH000206: hibernate.properties 未找到 2019 年 7 月 13 日上午 8:13:53 org.hibernate.cfg.Environment buildBytecodeProvider 信息:HHH000021: 字节码提供者名称:javassist 2019 年 7 月 13 日上午 8:13:53 org.hibernate.annotations.common.reflection.java.JavaReflectionManager 信息:HCANN000001:Hibernate Commons 注释 {5.0.1.Final} 2019 年 7 月 13 日上午 8:13:53 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl 配置 WARN: HHH10001002: Using Hibernate built-in connection pool (不用于生产!)2019 年 7 月 13 日上午 8:13:54 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO:HHH10001005:使用驱动程序 [com.mysql.jdbc.Driver] 在 URL [jdbc:mysql://localhost:3306/jpa] 2019 年 7 月 13 日上午 8:13:54 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator 信息:HHH10001001:连接属性:{user=root, 密码=****} 2019 年 7 月 13 日上午 8:13:54 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator 信息:HHH10001003:自动提交模式:false 2019 年 7 月 13 日 上午 8 点 13 分 54 秒 org.hibernate.engine.jdbc.connections.internal.PooledConnections 信息:HHH000115:休眠连接池大小:20 (min=1) 2019 年 1 月 13 日上午 8:13:54 org.hibernate.dialect.Dialect 信息: HHH000400:使用方言:org.hibernate.dialect.MySQL5Dialect 7 月 13 日, 2019 上午 8 点 13 分 55 秒 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl 停止信息:HHH10001008:清理连接池 [jdbc:mysql://localhost:3306/jpa]
我在 Persistence.xml 中的配置有问题吗?
【问题讨论】:
标签: jpa