我有以下实体类(在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
}
and my 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>
and the script:
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基于实体类自动创建和/或更新表。我将如何完成?
我不知道离开hibernate
前线是否会有所作为。
该参考表明,它应该是hibernate.hbm2ddl.auto
值为create
将会在sessionFactory
创建时创建表,并保持它们不变。
值为create-drop
会创建你的表,然后在关闭sessionFactory时将其删除。
也许你应该javax.persistence.Table
显式设置注释?
希望这可以帮助。
问题内容: 我有以下实体类(在Groovy中): 和我的persistence.xml: 和脚本: 数据库 Icarus 存在,但当前没有表。我希望Hibernate基于实体类自动创建和/或更新表。我将如何完成? 问题答案: 我不知道离开前线是否会有所作为。 该参考表明,它应该是 值为将会在创建sessionFactory时创建您的表,并保持它们不变。 值为会创建您的表,然后在关闭sessionF
启动程序(启动TomCat)后,模式中没有创建表,但是必须自动创建表“player”。 我检查了Hibernate配置,但找不到问题所在。我尝试将hbm2ddl.auto更改为hibernate.hbm2ddl.auto(也包括创建、创建-删除等),但没有帮助。 如果有什么想法,请告诉我。谢了。 实体类: 存储库类: Hibernate配置: pom.xml的完整项目代码可通过链接:https:/
我好像遇到了NB的问题。我成功地从数据库创建了一个实体类(最初有一些问题,这似乎是NB中的一个bug)。目标是将数据库从某个位置嵌入到应用程序中。步骤和问题解释如下。 资源: ~数据库[TourismDB]包含两个表:“tours”,“tours” ~包:META-INF,toursApp ~文件:persistence.xml,tourss.java,tours.java,tours.java,
试图用hibernate创建表,但它已经创建并删除了。 hibernate.cfg.xml:
在过去的7天里,我一直在为我的MySQL基础开发EER图模型。这是一个相当复杂的模型,有很多连接和属性。现在我知道,如果您在application.properties中使用spring.jpa.hibernate.ddl-auto=更新,Spring Boot会根据您的实体类(包括外键和其他设置)自动创建表,但是在提供良好的凭据后是否可以创建实体类基于表和模式的DataSource对象? 关键是
本文向大家介绍C#实现根据实体类自动创建数据库表,包括了C#实现根据实体类自动创建数据库表的使用技巧和注意事项,需要的朋友参考一下 .Net新手通常容易把属性(Property)跟特性(Attribute)搞混,其实这是两种不同的东西 属性指的类中封装的数据字段;而特性是对类、字段、方法和属性等元素标注的声明性信息 如下代码(Id、Name为User的属性,[DbKey]为Id的特性) 特性分预定