您的位置:首页技术文章
文章详情页

java - hibernate正向工程生成一对多关系模型无报错,但是只生成了一张表

【字号: 日期:2023-12-07 16:04:10浏览:52作者:猪猪

问题描述

我现在准备做正向工程,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:

用注解吧,现在流行注解

标签: java