HibernateTools reverse engineering tool does not add annotations for generator

I have my MySQL DB Schema and I use Hibernate Reverse Engineering to create an annotated domain object (.java). Although the file is generated correctly, it somehow skips the Generator annotation for the ID field.

Below is my hibernate.reveng.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE
hibernate-reverse-engineering PUBLIC
"-//Hibernate/Hibernate Reverse
Engineering DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd"
<hibernate-reverse-engineering>
  <table-filter match-name="products" match-catalog="test"></table-filter>
  <table catalog="test" name="products">
    <primary-key>
      <generator class="native"></generator>
      <key-column name="product_id"property="product_id" />
    </primary-key> 
  </table>
</hibernate-reverse-engineering>

and the generated class file (Products.java):

// default package
// Generated Jan 21, 2011 8:27:16 PM by Hibernate Tools 3.3.0.GA

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * Products generated by hbm2java
 */
@Entity
@Table(name = "products", catalog = "test")
public class Products implements java.io.Serializable {

 private String productId;
 private String productName;

 public Products() {
 }

 public Products(String productId) {
  this.productId = productId;
 }

 public Products(String productId, String productName) {
  this.productId = productId;
  this.productName = productName;
 }

 @Id
 @Column(name = "product_id", unique = true, nullable = false, length = 50)
 public String getProductId() {
  return this.productId;
 }

 public void setProductId(String productId) {
  this.productId = productId;
 }

 @Column(name = "product_name", length = 200)
 public String getProductName() {
  return this.productName;
 }

 public void setProductName(String productName) {
  this.productName = productName;
 }

}

Is there something missing in my hibernate.reveng.xml or hibernation that doesn't generate annotations for the "generator"?

+5
source share
2 answers

you need to check "ejb3" or add to the configuration:

<hbm2java  jdk5="true" ejb3="true" />
+1
  <key-column name="product_id" property="product_id" />

. : key-column name="product_id", DB product_id, : property="product_id", Java productId, product_id. :

  <key-column name="product_id" property="productId" />

: AFAIK .

0

All Articles