我正在开发我的第一个简单的Hibernate应用程序。问题的关键是,我已经重命名了persistent类的一个成员(对所有其他部分都做了适当的更改),并重新运行了应用程序。由于在配置xml中为“hbm2ddl.auto”属性分配了“create”值,Hibernate应该在每次运行时创建新表,但它并没有这样做。以下是详细资料:
public class Event {
private Long id;
private String title;
private Date date;
public Event() {
// this form used by Hibernate
}
public Event(String title, Date date) {
// for application use, to create new events
this.title = title;
this.date = date;
}
public Long getId() {
return id;
}
private void setId(Long id) {
this.id = id;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
<hibernate-mapping package="org.hibernate.tutorial.hbm">
<class name="Event" table="EVENTS">
<id name="id" column="EVENT_ID">
<generator class="increment"/>
</id>
<property name="date" type="timestamp" column="EVENT_DATE"/>
<property name="title"/>
</class>
除其他外,Hibernate.cfg.xml有以下条目:
<property name="hbm2ddl.auto">create</property>
主类:
public class EventManager {
public static void main(String[] args) {
EventManager mgr = new EventManager();
List events = mgr.listEvents();
for (int i = 0; i < events.size(); i++) {
Event theEvent = (Event) events.get(i);
System.out.println( "Event: " + theEvent.getTitle() + " Time: " + theEvent.getDate() );
}
HibernateUtil.getSessionFactory().close();
}
private List listEvents() {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List result = session.createQuery("from Event").list();
session.getTransaction().commit();
return result;
} }
上面的代码按预期工作。为了测试“hbm2ddl.auto”属性,我将事件类中的“title”成员更改为“title1”。并且,更新了setter和getter方法以及所有引用(在映射xml、Event和EventManager类中)。没有任何错误。但是,当我尝试运行应用程序时,我看到以下异常:
List result = session.createQuery("from Event").list();
请尝试指定hibernate.hbm2ddl.auto=create
,而不只是hbm2ddl.auto=create
。
这就是文档使用的内容。
问题内容: 的默认值是多少 在hibernatecfg文件映射中 是否可以删除 从配置文件映射 如果我删除此属性是否会影响我的数据库 ??? 问题答案: 创建SessionFactory时,自动将架构DDL验证或导出到数据库。使用create-drop时,显式关闭SessionFactory时将删除数据库架构。 验证现有模式 更新-创建后仅更新您的架构 每次创建-创建架构
我试图使用导入CSV创建一组标记节点,如下所示: 是这个功能不起作用,还是只限于导入工具而不是语言?
问题内容: 如何设置数据属性而不在jQuery中添加值?我要这个: 我试过了: 其他所有内容似乎都将第二个参数添加为字符串。是否可以只设置没有值的属性? 问题答案: 该功能也是设置器功能。您可以将一个空字符串传递给它。 空字符串将仅创建没有值的属性。
问题内容: 我是Java的新手,并且开始使用Java 。我想做的是为学生创建一个。每个学生都有与其相关的不同属性()。我试图弄清楚如何使用此属性添加新的学生对象。这是我所拥有的: 问题答案: 您需要的是以下内容:
Hibernate的property元素具有update、insert属性,根据文档,它声明-http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/mapping.html#mapping-声明属性 update,insert(可选-默认为true):指定映射列应包含在SQL update和/或insert语句中。将两者都设置为f
所以,在大学里,我们正在处理csv文件和流。现在我正在做一些家庭作业,但我已经被困在这个练习中好几天了。我有一个csv文件,其中包含一些关于事故的数据(如事故严重程度、受害者人数等),我有一个函数可以读取该数据并将其转换为事故对象列表(csv拥有的每种数据类型都有一个属性): 我已经将该列表保存在一个对象中,我可以使用调用列表: 现在,我必须制作一个按照标题所说的函数。我认为地图键可以是严重性(这