休眠:基于实体类自动创建/更新数据库表

我有以下实体类(在Groovy中):


import javax.persistence.Entity

import javax.persistence.Id

import javax.persistence.GeneratedValue

import javax.persistence.GenerationType


@Entity

public class ServerNode {


  @Id

  @GeneratedValue(strategy = GenerationType.AUTO)

  Long id


  String firstName

  String lastName


}

和我的persistence.xml:


<?xml version="1.0" encoding="UTF-8"?>

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">

    <persistence-unit name="NewPersistenceUnit">

        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <properties>

            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/Icarus"/>

            <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="create"/>

        </properties>

        <class>net.interaxia.icarus.data.models.ServerNode</class>

    </persistence-unit>

</persistence>

和脚本:


import javax.persistence.EntityManager

import javax.persistence.EntityManagerFactory

import javax.persistence.Persistence

import net.interaxia.icarus.data.models.ServerNode


def factory = Persistence.createEntityManagerFactory("NewPersistenceUnit")

def manager = factory.createEntityManager()


manager.getTransaction().begin()


manager.persist new ServerNode(firstName: "Test", lastName: "Server")


manager.getTransaction().commit()

数据库Icarus存在,但当前没有表。我希望Hibernate基于实体类自动创建和/或更新表。我将如何完成?


忽然笑
浏览 578回答 4
4回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
MySQL