实体bean(四)多对一
1.由注解自动生成表
<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="JPAManyToOnePU" transaction-type="JTA"> <jta-data-source>java:/jpa</jta-data-source> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> <property name="hibernate.hbm2ddl.auto" value="update"/> </properties> </persistence-unit> </persistence>
上次是<property name="hibernate.hbm2ddl.auto" value="update"/> 把ddl写成了dll,找出没法自动生成。现在可以了。
2.多个Employee对应一个Company
Company代码:
package com.persia.jpa; import javax.persistence.Entity; import javax.persistence.Id; @Entity public class Company { @Id private int id; private String name; }
Employee代码:
package com.persia.jpa; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; @Entity public class Employee { @Id private int id; private String name; @ManyToOne @JoinColumn(name="CID") private Company company; }
3.生成的数据库表
mysql> desc company -> ; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(255) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec) mysql> desc employee; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(255) | YES | | NULL | | | CID | int(11) | YES | MUL | NULL | | +-------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
浙公网安备 33010602011771号