- 浏览: 3567206 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
http://ningnian169.blog.51cto.com/2417825/452825
自己做了一个单向多对一的例子。
主贴类(1)-----回帖类(m)
Topic(1)------Feedback(m)
persistence.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <persistence version="1.0" 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">
- <persistence-unit name="JpaTest" transaction-type="RESOURCE_LOCAL">
- <provider>org.hibernate.ejb.HibernatePersistence</provider>
- <class>com.entity.Topic</class>
- <class>com.entity.Feedback</class>
- <exclude-unlisted-classes>true</exclude-unlisted-classes>
- <properties>
- <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
- <property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
- <property name="hibernate.connection.username" value="ningnian"/>
- <property name="hibernate.connection.password" value="ningningx"/>
- <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
- <property name="hibernate.show_sql" value="true" />
- <property name="hibernate.hbm2ddl.auto" value="update"/>
- </properties>
- </persistence-unit>
- </persistence>
TopicEntity
- package com.entity;
- import java.io.Serializable;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.Table;
- @Entity
- @Table
- public class Topic implements Serializable {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private int id;
- private String author;
- private String title;
- private String context;
- @Id
- @Column
- @GeneratedValue(strategy = GenerationType.AUTO)
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- @Column(length = 20)
- public String getAuthor() {
- return author;
- }
- public void setAuthor(String author) {
- this.author = author;
- }
- @Column(length = 20)
- public String getTitle() {
- return title;
- }
- public void setTitle(String title) {
- this.title = title;
- }
- @Column(length = 20)
- public String getContext() {
- return context;
- }
- public void setContext(String context) {
- this.context = context;
- }
- }
Feedback
- package com.entity;
- import java.io.Serializable;
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToOne;
- @Entity
- public class Feedback implements Serializable {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private int id;
- private String author;
- private String context;
- private Topic topics;
- @Id
- @Column
- @GeneratedValue(strategy = GenerationType.AUTO)
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- @Column
- public String getAuthor() {
- return author;
- }
- public void setAuthor(String author) {
- this.author = author;
- }
- @Column
- public String getContext() {
- return context;
- }
- public void setContext(String context) {
- this.context = context;
- }
- /**
- * cascade = CascadeType.MERGE--级联更新 cascade=CascadeType.PERSIST--级联持久
- * cascade=CascadeType.REMOVE--级联删除 cascade=CascadeType.REFRESH--
- * 级联刷新--在业务逻辑中可能对象进行修改,但是读取出来并不是最新的数据。 如果需要最新的数据,这时就得需要级联刷新 fetch =
- * FetchType.LAZY--开启延迟加载。 fetch = FetchType.EAGER--即时加载 optional--boolean
- * 在数据中,这个字段是否为空 optional=false,这个选项不可以空
- */
- @ManyToOne(cascade = CascadeType.REFRESH, fetch = FetchType.LAZY, optional = false)
- /**
- * @JoinColumn(name = "top_id") 指定外键
- */
- @JoinColumn(name = "top_id")
- public Topic getTopics() {
- return topics;
- }
- public void setTopics(Topic topics) {
- this.topics = topics;
- }
- }
测试类
- @Test
- public void testFeedback() {
- EntityManagerFactory factory = Persistence
- .createEntityManagerFactory("JpaTest");
- EntityManager manager = factory.createEntityManager();
- Topic topic = new Topic();
- topic.setTitle("test");
- topic.setContext("this is test");
- topic.setAuthor("ning");
- Feedback fk = new Feedback();
- fk.setAuthor("nian");
- fk.setContext("________");
- fk.setTopics(topic);
- manager.getTransaction().begin();
- manager.persist(fk);
- manager.getTransaction().commit();
- }
发表评论
-
spring mvc
2013-07-14 18:00 1316http://ajgfxxzefd.l10.yunpan.cn ... -
JPA 父类与子类在数据库中实现
2013-01-22 10:51 2268分类: ... -
@Component,@Service,@Controller,@Repository注解
2012-12-19 13:16 1608Spring 2.5 中除了提 ... -
JPA 单向一对一关联(@OneToOne)
2012-12-12 13:09 0JPA 单向一对一关联(@OneToOne) ... -
JPA的一对多映射(单向)
2012-12-12 12:49 1468JPA的一对多映射(单向) Posted on 2 ... -
JPA学习DEMO的全部资料
2012-12-12 09:41 1318http://www.cnblogs.com/lich/tag ... -
@OneToMany and @OneToOne
2012-12-12 09:27 1780@OneToMany and @OneToOne ... -
JPA @Transactional() 的几种类型说明
2012-12-11 10:26 3174JPA @Tra ... -
JPA常用的注解
2012-12-11 09:52 1159JPA注解 ...
相关推荐
在Java Persistence API (JPA) 中,"单向多对一"关系是一种常见的对象关系映射(ORM)设计模式,用于表示实体之间的关联。在这个模式中,一个实体("多"端)可以引用另一个实体("一"端),但被引用的实体并不持有对...
在Java Persistence API (JPA) 中,"单向一对多"是一种常见的关系映射类型,它代表了数据库中两个实体间的一种关联。这种关联意味着一个实体(“一方”)可以与多个其他实体(“多方”)相关联,而反过来,多方并不...
总结来说,JPA的一对一实例配置是通过`@OneToOne`注解实现的,可以方便地管理两个实体之间的单向或双向一对一关系。理解并熟练运用这一特性,有助于我们在Java应用中更有效地处理数据持久化,提高开发效率。
4. **注解细节**:`@JoinColumn`用于单向一对一或一对多关系,而在多对多关系中,通常使用`@JoinTable`来指定中间表的信息,包括表名、连接列等。 5. **操作关联**:在JPA中,可以通过添加或移除对象到集合属性来...
对于单向多对一关联,通常是在多方(拥有多个实体)的类中添加一个对单方(拥有单一实体)的引用。 例如,我们可以创建两个实体类:`Employee`(员工)和`Department`(部门)。在`Employee`类中,我们将有一个`...
在JPA中,多对多(Many-to-Many)关联是一种常见的关系类型,适用于描述两个实体之间复杂的关系。本教程将深入探讨JPA中多对多双向关联的各个方面及其操作。 在数据库中,多对多关联意味着一个实体可以与多个其他...
JPA视频_映射单向一对多的关联关系 · 14. JPA视频_映射双向一对多的关联关系 · 15. JPA视频_映射双向一对一的关联关系 · 16. JPA视频_映射双向多对多的关联关系 · 17. JPA视频_二级缓存 · 18. JPA视频_...
1. **单向一对一**: 在这种关系中,一个实体只有一个对应实体与之关联,且只在一个方向上有引用。通常通过`@OneToOne`注解来实现,可以设置`mappedBy`属性来指定对方实体中的关联字段。 2. **双向一对一**: ...
JPA 提供了多种方式来处理不同类型的关联关系,包括单向多对一、单向一对多、双向一对一、双向多对一和双向多对多。下面我们将详细探讨这些关联关系的实现方法。 1. **单向多对一关联关系(SingleManyToOne)** 在...
1. 配置并创建单向多对一关联,如“区县”和“街道”的关系。 2. 创建双向一对多关联,如“街道”和“区县”的双向关系。 3. 实现多对多关联,例如OA系统中项目和人员的对应关系管理。 在实体类中,我们可以使用...
本资料“13_JPA详解_JPA中的多对多双向关联实体定义与注解设置”专注于讲解JPA如何处理多对多双向关联关系,这是数据库设计中常见的一种复杂关联类型。下面我们将详细探讨这一主题。 首先,我们需要理解多对多关联...
// @ManyToOne注解表示这个字段是一个多对一的关系,对应Parent实体 // cascade属性可以设置成CascadeType.ALL,以处理级联操作,如保存、删除等 @ManyToOne(cascade = CascadeType.ALL) private Parent parent;...
本篇文章将深入探讨Hibernate中的一对一外键单向关联。 首先,一对一外键关联指的是一个实体通过外键直接引用另一个实体的主键。在单向关联中,只有其中一个实体知道另一个实体的存在,而另一个实体则无感知。这种...
本练习主要关注的是Hibernate中的单向多对多关联映射,这是一种常见的关系数据库设计模式,用于表示两个实体间复杂的关系。 在多对多关联中,两个实体类可以相互拥有多个实例,但只在一个方向上建立关联。例如,...
- 在另一方实体中,我们使用`@ManyToOne`注解来表示多对一的关系。这个注解会定义一个字段,该字段保存了对一方实体的引用。 3. **示例代码** 假设我们有`Department`(部门)和`Employee`(员工)两个实体,部门...
3. **多对一(ManyToOne)映射**:多个子对象对应一个父对象,与一对一相反,通过`@ManyToOne`注解实现。同样可设置`fetch`策略和`@JoinColumn`来定义外键。 4. **多对多(ManyToMany)映射**:一个实体可以与多个...
- **多对一映射**:使用`@ManyToOne`注解定义,多个实体的实例可与另一个实体的单个实例相关联。 - **多对多映射**:使用`@ManyToMany`注解表示,支持任意一方成为所有者。 #### JPA实体 - **实体定义**:在JPA中...
本文将深入探讨JPA中的四种主要关联关系:一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。 1. **一对一关联(OneToOne)** 在一对一关联中,一个实体实例对应数据库中的唯...
3. **实体关系(Entity Relationships)**:JPA支持多种关系映射,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany),这些关系可以是单向或双向的。 4. **持久化上下文...