Hibernate:使用带有EJB3注释的java类生成hbm.xmls
我需要使用带有EJB3注释的java类创建HibernateXML映射文件。 我在EclipseJavaEEIDE下为Web开发人员使用Hibernate工具Juno服务版本2。用于创建Hibernate XML映射文件,如中所述 但我也有同样的问题(在那篇文章中提到):EJB3注释将被忽略 如果我有以下POJO:Hibernate:使用带有EJB3注释的java类生成hbm.xmls,hibernate,hbm,Hibernate,Hbm,我需要使用带有EJB3注释的java类创建HibernateXML映射文件。 我在EclipseJavaEEIDE下为Web开发人员使用Hibernate工具Juno服务版本2。用于创建Hibernate XML映射文件,如中所述 但我也有同样的问题(在那篇文章中提到):EJB3注释将被忽略 如果我有以下POJO: package org.hibernate.tutorial.domain; import java.util.Date; import javax.persistence.Col
package org.hibernate.tutorial.domain;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import org.hibernate.annotations.GenericGenerator;
@Entity
@Table(name = "EVENTS")
public class Event {
@Id
@GenericGenerator(name = "eGen", strategy = "uuid")
@GeneratedValue(generator = "eGen")
@Column(name = "EVENT_ID")
private String id;
@Column(name = "EVENT_TITLE", length = 2730)
private String title;
@Column(name = "EVENT_LONG_TITLE", length = 130)
private String longTitle;
public String getLongTitle() {
return longTitle;
}
public void setLongTitle(String longTitle) {
this.longTitle = longTitle;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "EVENT_DATE")
private Date date;
public Event() {
}
public String getId() {
return id;
}
private void setId(String 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;
}
然后将生成以下映射程序
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 07.05.2013 11:08:58 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="org.hibernate.tutorial.domain.Event" table="EVENT">
<id name="id" type="java.lang.String">
<column name="ID" />
<generator class="assigned" />
</id>
<property name="title" type="java.lang.String">
<column name="TITLE" />
</property>
<property name="longTitle" type="java.lang.String">
<column name="LONGTITLE" />
</property>
<property name="date" type="java.util.Date">
<column name="DATE" />
</property>
</class>
</hibernate-mapping>
谢谢你的回答 id生成器是不同的,第一个使用“uuid”,hbm说“assigned”,列名和表名也是不同的。您得到的错误是什么我知道,但最初的假设是生成与源相关的正确xml映射:jpa注释的java类。。。您可以使用regexp,但不能使用hibernate工具。您必须将数据库映射到hbm文件中,然后手动修复差异或使用regexp。