组件映射

表结构:

CREATE TABLE `mapping`.`student` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(45) NOT NULL,
  `address` VARCHAR(45) NULL,
  `idNumber` VARCHAR(45) NOT NULL,
  `deposit` DOUBLE NULL,
  PRIMARY KEY (`id`));

Student 类

package hibernate.entities;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Student {
	private int id;
	private String name;
	private String address;
	private StudentCard card;
	
	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	
	@Embedded
	@AttributeOverrides({
		@AttributeOverride(name="idNumber", column=@Column(name="idNumber")),
		@AttributeOverride(name="deposit", column=@Column(name="deposit"))
	}
	)
	public StudentCard getCard() {
		return card;
	}
	public void setCard(StudentCard card) {
		this.card = card;
	}
	
	
}

StudentCard 类

package hibernate.entities;

import javax.persistence.Embeddable;

@Embeddable
public class StudentCard {
	private String idNumber;
	private double deposit;
	
	public String getIdNumber() {
		return idNumber;
	}
	public void setIdNumber(String idNumber) {
		this.idNumber = idNumber;
	}
	public double getDeposit() {
		return deposit;
	}
	public void setDeposit(double deposit) {
		this.deposit = deposit;
	}
	
	
}

猜你喜欢

转载自harveysydney.iteye.com/blog/2310587