java - hibernate正向工程生成一對多關系模型無報錯,但是只生成了一張表
問題描述
我現在準備做正向工程,User客戶和Order訂單的一對多關系
下面是他們的實體類
package com.cw.entity;import java.util.Set;public class User implements java.io.Serializable { private Integer id; private String username; private String password; private Set<Order> order; public Integer getId() {return id; } public void setId(Integer id) {this.id = id; } public String getUsername() {return username; } public void setUsername(String username) {this.username = username; } public String getPassword() {return password; } public void setPassword(String password) {this.password = password; } public Set<Order> getOrder() {return order; } public void setOrder(Set<Order> order) {this.order = order; } public User(String username, String password, Set<Order> order) {super();this.username = username;this.password = password;this.order = order; }}package com.cw.entity;public class Order implements java.io.Serializable { private Integer id; private User user; private String shop; public Integer getId() {return id; } public void setId(Integer id) {this.id = id; } public User getUser() {return user; } public void setUser(User user) {this.user = user; } public String getShop() {return shop; } public void setShop(String shop) {this.shop = shop; } public Order(User user, String shop) {super();this.user = user;this.shop = shop; } }
下面是hbm.xml配置文件
<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-mapping PUBLIC '-//Hibernate/Hibernate Mapping DTD 3.0//EN''http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd'><!-- Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping> <class name='com.cw.entity.User' table='user' catalog='test'><id name='id' type='java.lang.Integer'> <column name='id' /> <generator /></id><property name='username' type='java.lang.String'> <column name='username' /></property><property name='password' type='java.lang.String'> <column name='password' /></property><set name='order' cascade='save-update' inverse='true'> <key column='order'></key> <one-to-many /></set> </class></hibernate-mapping><?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-mapping PUBLIC '-//Hibernate/Hibernate Mapping DTD 3.0//EN''http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd'><!-- Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping> <class name='com.cw.entity.Order' table='order' catalog='test'><id name='id' type='java.lang.Integer'> <column name='id' /> <generator /></id><!-- <property name='user' type='com.cw.entity.User'> <column name='user' /></property> --><property name='shop' type='java.lang.String'> <column name='shop' /></property><many-to-one name='user' cascade='all' column='user'></many-to-one> </class></hibernate-mapping>
其他配置我都檢查了沒問題,hibernate.cfg.xml也沒問題(已經加了兩個實體模型的配置項以及hbm2ddl配置),但是執行
package com.cw.entity;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.classic.Session;import org.hibernate.id.Configurable;public class Test { /** * @param args */ public static void main(String[] args) {// TODO Auto-generated method stubConfiguration configure = new Configuration().configure();SessionFactory buildSessionFactory = configure.buildSessionFactory();Session session = buildSessionFactory.openSession();Transaction tx = session.beginTransaction();tx.commit(); }}
之后只有user表生成了,order表沒有生成,請問一下現在問題是出在哪?
問題解答
回答1:用注解吧,現在流行注解
