联合外键作主键 @EmbeddwdId

原创 2012年03月25日 15:53:23

嵌入类:

package com.dlnu.model;

import java.io.Serializable;

import javax.persistence.Embeddable;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
@Embeddable
public class Name implements Serializable {

	private static final long serialVersionUID = 1L;

	private Course course;

	private Student student;

	public Name() {
	}

	public Name(Course course, Student student) {
		this.course = course;
		this.student = student;

	}

	@ManyToOne
	@JoinColumn(name = "courseId", referencedColumnName = "cno",nullable=true)
	public Course getCourse() {
		return course;
	}
	@ManyToOne
	@JoinColumn(name = "studentId", referencedColumnName = "sno")
	public Student getStudent() {
		return student;
	}

	public void setStudent(Student student) {
		this.student = student;
	}

	public void setCourse(Course course) {
		this.course = course;
	}

	public boolean equals(Object obj) {

		if (this == obj) {
			return true;
		}
		if (obj.getClass() == Name.class) {
			Name target = (Name) obj;
			if (target.getCourse().equals(course)
					&& target.getStudent().equals(student)) {
				return true;
			}
		}
		return false;
	}

	public int hashCode() {

		return course.hashCode() + student.hashCode() * 17;
	}

}

 

实体类:

package com.dlnu.model;

import javax.persistence.EmbeddedId;
import javax.persistence.Entity;

@Entity
public class SC {

	
	private Name name;

	private Double grade;
	
	public Double getGrade() {
		return grade;
	}
	
	@EmbeddedId
	public Name getName() {
		return name;
	}
	public void setGrade(Double grade) {
		this.grade = grade;
	}
	public void setName(Name name) {
		this.name = name;
	}

}



 

PowerDesigner中的CDM设计的外键作主键

两个实体之间是一对一的关系。两个实体的标识符是“一样的”--但是好像CDM中不允许相同。这样的情况怎么处理? CDM里好像没有外键,我是说转换成PDM之后,外键又要做表的主键,在对应的CDM里是...
  • jjting
  • jjting
  • 2012年10月12日 21:49
  • 5379

Sql Server 2005数据库sql代码写外键、复合键作主键

一、环境是sql server 2005,首先自己创建了一个ClassDB的数据库 二、运行以下的sql代码   use ClassDB drop table enrol /*引用studen...

[NHibernate] Guid 作主键速度超慢的背后

最近遇到了一个让人抓狂的性能问题。生产环境里有一张表的数据量目前达到了 70 万条。结果发现无论是匹配主键的查询还是更新,执行一条语句居然需要 3.5 秒!如果把 NH Prof 中截获的 SQL 语...
  • educast
  • educast
  • 2011年07月13日 10:55
  • 1990

数据库中使用自增量字段与Guid字段作主键的性能对比

1.概述:   在我们的数据库设计中,数据库的主键是必不可少的,主键的设计对整个数据库的设计影响很大.我就对自动增量字段与Guid字段的性能作一下对比,欢迎大家讨论. 2.简介:  ...
  • Hmillet
  • Hmillet
  • 2015年09月15日 17:30
  • 585

hibernate一对一外键关系

  • 2013年07月12日 15:04
  • 4.69MB
  • 下载

Hibernate多对多之中间表只有两个外键做联合主键

一般情况下,多对多的关联关系是需要中间表的; 情况一:如果中间表仅仅是做关联用的,它里面仅有2个外键做联合主键,则使用ManyToMany(不用写中间表的Model,只需要写出两张主表的mode...

hibernate中的外键查询实现

  • 2008年11月25日 03:17
  • 274KB
  • 下载

05、MySQL外键、联合查询和子查询

MySQL外键、联合查询和子查询
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:联合外键作主键 @EmbeddwdId
举报原因:
原因补充:

(最多只允许输入30个字)