【问题标题】:Tables in SQL Server database are not auto-createdSQL Server 数据库中的表不是自动创建的
【发布时间】:2016-01-27 12:00:11
【问题描述】:

我正在尝试在 Microsoft SQL Server 2012 的数据库中从 Java 自动创建表。我正在使用 JPA,并且有我的 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="PU" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>DS</jta-data-source>
    <class>msg.Message</class>
    <class>msg.Response</class>
    <properties>
        <property name="hibernate.connection.driver_class" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
        <property name="hibernate.show_sql" value="true"/>
        <property name="hibernate.hbm2ddl.auto" value="create"/>
    </properties>
</persistence-unit>

glassfish ping 成功的 JDBC 连接池(附加属性

网址:jdbc:sqlserver://127.0.0.1;databaseName=test;instanceName=SQLEXPRESS; 用户:用户 密码:密码 端口号:1433)

Message.java 的头文件

@Entity
@Table(name = "message", schema = "xxx_msg")
public class Message implements Serializable {

@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Integer id;
@JoinColumn(name = "sender_id", referencedColumnName = "id")
@ManyToOne
private Person senderId;

构建或部署没有错误,数据库已启动但未创建表

【问题讨论】:

    标签: java sql-server hibernate jpa glassfish


    【解决方案1】:

    固定

    我必须首先使用 Microsoft SQL Server Management Studio 创建架构(我的数据库 -> 新查询 -> CREATE SCHEMA xxx_msg)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多