referencedColumnName】的更多相关文章

In JPA there is a an attribute called referencedColumnName that can be set on @JoinColumn, @PrimaryKeyJoinColumn what is the idea behind this setting, can some on give a good example of where this would be used? "referencedColumnName" property i…
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点总结如下: One to Many 映射关系 多对一单向外键关联(XML/Annotation) 一对多单向外键关联(XML/Annotation) 懒加载和积极加载 一对多双向外键关联(XML/Annotation) Many to Many 映射关系 多对多单向外键关联(XML/Annotation) 多对多双向外键关联(XML/Annotation) set的inverse元素详解 问题小结 关联关系的优缺点 多…
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点总结如下: One to One 映射关系 一对一单向外键(XML/Annotation) 一对一双向外键关联(XML/Annotation) 联合主键 一对一单向外键联合主键(Xml/Annotation) 一对一组件关联(XML/Annotation) 理解组件 领域驱动设计——自动生成数据库脚本 一对一关系的小结 一些出错问题的总结 自动生成数据库脚本 一般在项目开发过程中,我们的习惯是先建好数据库和表,然后在进…

jpa

学习尚硅谷jpa笔记: 所依赖的jar包: 首先在META-INF下创建配置文件,persistence.xml <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/20…
主键生成策略 @Id //根据底层数据库决定,mysql-->auto_increment @GeneratedValue(strategy=GenerationType.AUTO) //使用数据表 @TableGenerator(name="table_name",allocationSize=1) @GeneratedValue(strategy=GenerationType.TABLE,generator="table_name") //使用序列 @Se…
前言: 最近正在学习Hibernate通过注解(annotation)来管理映射关系,以前都是通过XML映射文件.下面拿个小例子说一下. 数据库物理模型: 数据库的描述: 一篇博客随笔可以分到不同的类中,一个类中又可以包含许多不同的博客随笔.就如同博客园的设计.也就是上图中 博客-组 和 博客-消息是多对多的映射. Hibernate关联映射方式: 双向N-N关联, 两端都要使用Set集合属性,两端都增加对集合属性的访问.双向N-N关联没有太多的选择,只能采用连接表来建立两个实体之间的关联关系.…
Person与Address关联:双向1->1,[基于外键的]. #主表不应该控制关联关系.(否则会导致生成额外的update语句,从而导致性能下降), #因此主表对应的实体中使用@OneToOne注解时,应该增加mappedBy属性. Person.java package org.crazyit.app.domain; import javax.persistence.Column;import javax.persistence.Entity;import javax.persistenc…
Person与Address关联:双向N->N,[连接表必须有],两端都控制关联关系 #需要说明的是:如果程序希望某一端放弃控制关联关系,则可以在这一段的@ManyToMany注解中指定mappedBy属性,这一端就 # 无需也不能使用@JoinTable映射连接表了. Person.java package org.crazyit.app.domain; import java.util.HashSet;import java.util.Set; import javax.persistenc…
Person与Address关联:双向1->N,[有连接表的],N端.1端同时参与控制关联关系 Person.java package org.crazyit.app.domain; import java.util.HashSet;import java.util.Set; import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import…
Person与Address关联:双向1->N,[有连接表的],N端控制关联关系 Person.java package org.crazyit.app.domain; import java.util.HashSet;import java.util.Set; import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.p…
Person与Address关联:双向1->N,[无连接表的],推荐使用 #由N端控制关联关系 #对于指定了mappedBy属性的@OneToMany,@ManyToMany,@OneToOne注解,都不能与 @JoinColumn或@JoinTable同时修饰带包关联实体的属性. #一旦为@OneToMany,@ManyToMany,@OneToOne指定了该属性,则表明当前实体不能控制关联关系. Person.java package org.crazyit.app.domain; impo…
单向N-1关联 <many-to-one> 单向N-1关系,比如多个人对应同一个住址,只需要从人实体端找到对应的住址实体,无须关系某个地址的全部住户.程序在N的一端增加一个属性,该属性引用1的一端的关联实体. 例如下面person实体中的address属性, package map.six11; public class Person { public Integer getId() { return id; } public void setId(Integer id) { this.id…
HQL查询--关联和连接 为了便于理解有关的使用关联和连接进行HQL查询,首先提供两个具有关联关系的持久化类:Person类和MyEvent类 Person类: import javax.persistence.CollectionTable; import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.pers…
单边一对多关系:电子邮件管理 单边一对多关系:指一方有集合属性,包含多个多方,而多的一方没有一方的引用. 比如:用户(一)与电子邮件(多).一个用户可以有多个电子邮件记录. 目的:通过OneToMany映射,当保存用户信息到用户表tb_person时,也能自动保存该用户的邮件的信息到邮件表tb_email 当删除用户信息时,也自动从数据库删除该用户的邮件的信息 实现效果: 用户:     邮件表: 工程目录:(这里用java EE 6 Libraries,5会报错) jar包 Hibernate…
user类: @Entity@Table(name="c_user")public class User {      @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id; private String name; private  int age; @Column(length=2) private String sex;  private String LoginName;    private Str…
One to Many 映射关系 多对一单向外键关联(XML/Annotation) 一对多单向外键关联(XML/Annotation) 懒加载和积极加载 一对多双向外键关联(XML/Annotation) Many to Many 映射关系 多对多单向外键关联(XML/Annotation) 多对多双向外键关联(XML/Annotation) set的inverse元素详解 问题小结 关联关系的优缺点 多对一单向外键关联关系 注意多对一关联是多方持有一方的引用.看一个例子,去淘宝购物,那么一个…
实体bean,entity 注解设置 持久化是位于JDBC之上的一个更高层抽象.持久层将对象映射到数据库,以便在查询.装载.更新或删除对象的时候,无须使用像JDBC那样繁琐的API.EJB的早期版本中,持久化是EJB平台的一部分.EJB3.0开始,持久化已经自成规范,被称为Java Persistence API. Java Persistence API定义了一种定义,可以将常规的普通Java对象(有时被称作POJO)映射到数据库.这些普通Java对象被称作Entity Bean.除了是用Ja…
当项目变得比较大的时候,如何还使用hbm.xml文件来配置Hibernate实体就会变得比较复杂.这里Hibernate提供了Annotation注解方式,使得Hibernate的映射文件变得很方便管理了. 这里简单介绍Hibernate的Annotation注解 一.声明实体 @Entity 对实体注释.任何Hibernate映射对象都要有这个注释 @Table 声明此对象映射到数据库的数据表,通过它可以为实体指定表(talbe),目录(Catalog)和schema的名字.该注释不是必须的,…
关系映射是指对象之间的关系,并不是指数据库的关系,关系映射是解决当对象处于以下关系之一时,数据库表该如何映射的问题 (一)一对一单向外键关联 1.注解方式配置 创建一个Husband类和Wife类 Husband类:(getWife方法上加注解OneToOne) package cn.orlion.hibernate.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import ja…
package com.ij34.dao; import javax.persistence.*; @Entity @Table(name="school_inf") public class School { @Id @Column(name="school_id") @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; private String name; public I…
package com.ij34.dao; import java.util.HashSet; import java.util.Set; import javax.persistence.*; @Entity @Table(name="people_inf") public class People implements java.io.Serializable{ private static final long serialVersionUID = 1L; @Id @Column…
package com.ij34.dao; import java.util.HashMap; import java.util.HashSet; import java.util.Set; import javax.persistence.*; @Entity @Table(name="people_inf") public class People implements java.io.Serializable{ private static final long serialVe…
package com.ij34.dao; import javax.persistence.*; @Entity @Table(name="Address_inf") public class Address{ @Id @Column(name="address_id") @GeneratedValue(strategy=GenerationType.IDENTITY) private int addressId; private String message;…
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration&…
*************************hibernate.cfg.xml <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0…
http://www.oracle.com/technetwork/cn/middleware/ias/toplink-jpa-annotations-100895-zhs.html#ManyToOne 1 JPA 批注参考 版本: 5/12/06 作为 Java 企业版 5 (Java EE 5) Enterprise Java Bean (EJB) 3.0 规范的组成部分,Java 持续性 API (JPA) 显著简化了 EJB 持续性并提供了一个对象关系映射方法,该方法使您可以采用声明方式…
http://www.objectdb.com/api/java/jpa/JoinColumns 用hibernate和jpa annotation 大概一年多了,今天闲来无事,对他们关联关系元数据写法做一个总结. 1.一对一主键关联 这个在实际项目中用的比较少,大部分是通过用外键做关联的,这里用用户和手机号举个例子,用户和手机号是一对一的关系,代码如下: User实体 package com.own.model; import java.io.Serializable; public clas…
Hibernate 目前企业级应用一般均采用面向对象的开发方法,而内存中的对象数据不能永久存在,如想借用关系数据库来永久保存这些数据的话,无疑就存在一个对象-关系的映射过程.在这种情形下,诞生了许多解决对象持久化的中间件,其中开源的Hibernate由于其功能与性能的优越而备受Java程序员青睐. 1 ORM简介 1.2.hibernate普通属性延迟加载 @Lob @Basic(fetch=FetchType.LAZY) 可真正使用的时候,它还是会被加载出来 需要进行字节码增强操作,详情如下:…
Person与Address关联:单向N->N,[有连接表的] #和单向1->N关联代码完全相同,控制关系的一端需要增加一个set类型的属性,被关联的持久化实例以集合形式存在. #N->N关联,需要使用@ManyToMany注解来修饰待代表关联实体的集合属性. #@JoinTable注解的inverseJoinColumn属性所指定的@JoinColumn中unique=false或去掉. Person.Java package org.crazyit.app.domain; impor…
Person与Address关联:单向1->N,[有连接表的] Person.java package org.crazyit.app.domain; import java.util.HashSet;import java.util.Set; import javax.persistence.CascadeType;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.G…