`

hibernate_1700_one2many_many2one_bi_crud

阅读更多
这是一个hibernate 多对一 一对多  基于外键双向关联


package com.bit.hibernate;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="t_group")
public class Group {
private int id;
private String name;
private Set<User> users = new HashSet<User>();
@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;
}
@OneToMany(mappedBy="group"
)

public Set<User> getUsers() {
return users;
}
public void setUsers(Set<User> users) {
this.users = users;
}
}


---------------------------------------------------------------------------------

package com.bit.hibernate;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="t_user")
public class User {
private int id;
private String name;
private Group group;
@ManyToOne(cascade={CascadeType.ALL})
public Group getGroup() {
return group;
}
public void setGroup(Group group) {
this.group = group;
}
@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;
}
}

---------------------------------------------------------------------------------

package com.bit.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class Main {

/**
* @param args
*/
public static void main(String[] args) {

SessionFactory sessionFactory = new  AnnotationConfiguration().configure().buildSessionFactory();

User user = new User();
    user.setName("u1");
    Group group = new Group();
    group.setName("g1");
group.getUsers().add(user);
user.setGroup(group);
Session session = sessionFactory.getCurrentSession();

session.beginTransaction();
session.save(user);
session.getTransaction().commit();

}

}

双向关联必设mappedBy  外键加到多的一方  还有一个cascade叫级联 也就是说在保存user的时候 自动保存了相应的group
分享到:
评论

相关推荐

    hibernate_1700_one2many_many2one_bi_crud(5)

    标题中的“hibernate_1700_one2many_many2one_bi_crud(5)”指的是一项关于Hibernate框架的教程,重点在于介绍一对多(One-to-Many)和多对一(Many-to-One)双向关联关系的创建、读取、更新和删除(CRUD)操作。...

    Struts_Spring_Hibernate_CRUD操作案例_-分页查询

    在这个“Struts_Spring_Hibernate_CRUD操作案例_分页查询”中,我们将深入探讨如何整合这三大框架实现数据的创建、读取、更新、删除(CRUD)以及分页查询。 1. **Struts框架**: - **Action类**:它是业务逻辑的...

    hibernate_day02笔记

    通过Hibernate,开发者可以创建Java对象(实体类),这些对象与数据库中的表进行映射,从而实现对数据库数据的CRUD(创建、读取、更新、删除)操作。 **实体类编写规则**: 1. 实体类的属性应声明为私有的。 2. ...

    spring_hibernate_in one and find more than 1 rs

    标题“spring_hibernate_in one and find more than 1 rs”暗示了这个压缩包可能包含一个整合Spring和Hibernate的示例项目,重点在于在一个查询中找到多条结果。在这个项目中,Spring作为依赖注入和框架管理工具,而...

    DMS.rar_dms_hibernate_myeclipse hibernate_mysql hibernate_struts

    - **持久化层(Persistence Layer)**:包含Hibernate Session工厂和服务类,处理数据库的CRUD操作。 - **控制器(Controller)**:Struts的Action类,接收并处理用户请求,调用业务逻辑方法。 - **业务逻辑层...

    hibernate_____实现ssh2用的hibernate

    标题 "hibernate_____实现ssh2用的hibernate" 提到的是在SSH2(Struts、Spring、Hibernate)框架中使用Hibernate的情况。SSH2是中国Java Web开发领域中广泛使用的三大开源框架集成,用于构建高效、可扩展的企业级...

    hibernate_day4_hibernate_sick7s3_

    【描述】"hibernate练习代码"表明这是与Hibernate相关的编程练习,可能包括创建、读取、更新和删除(CRUD)操作,实体关系映射,事务管理,查询优化等实践内容。用户可能通过这些代码来理解和掌握Hibernate如何在...

    struts_hibernate_bbs.rar_bbs_hibernate b_hibernate bbs_struts hi

    同时,还能了解到如何配置SessionFactory,创建DAO(Data Access Object)层,以及如何利用Hibernate的Session对象进行CRUD(Create, Read, Update, Delete)操作。 总结来说,"struts_hibernate_bbs.rar"是一个很...

    Hibernate_3.2.0_Reference_zh_CN.rar hibernate中文api

    2. **配置文件**:`hibernate.cfg.xml`是Hibernate的主要配置文件,包含数据库连接信息、SessionFactory的配置等,它是启动Hibernate的第一步。 3. **实体类(Entity)**:在Hibernate中,Java类对应数据库中的表,...

    test_hibernate_oracle_03.zip_Insert _hibernate_oracle_query_upda

    【标题】"test_hibernate_oracle_03.zip"是一个包含使用Hibernate框架与Oracle数据库进行CRUD操作(创建、读取、更新、删除)的示例项目。这个压缩包提供了有关如何通过Hibernate在Oracle数据库中执行插入、查询、...

    Struts_Spring__Hibernate CRUD

    Struts_Spring__Hibernate_指导学生做ssh项目 简单易学_Struts_Spring__Hibernate_指导学生做ssh项目

    sshdemo_struts+hibernate_hibernate_hadoqw_ssh_sshdemo_

    在本项目中,Hibernate可能用于建立Java对象与数据库表之间的映射,执行CRUD(创建、读取、更新、删除)操作,以及管理数据库连接。 "Hadoqw"看起来像是一个拼写错误或者可能是项目中的特定术语,但在常规的SSH框架...

    hibernate_persistence第17-23章书中代码

    - `hibernate_17_001_jdbc`: 这部分代码展示了如何使用Hibernate与JDBC进行交互,包括创建SessionFactory、Session对象,以及执行基本的CRUD操作。 - `hibernate_17_003_setQueryCondition`: 这部分内容可能涉及到...

    hibernate_plugs_2.zip

    而`hibernate_plugs_2.zip`这个压缩包很可能是关于Hibernate插件及其相关示例的集合,旨在帮助开发者更好地理解和利用这些工具来提升开发效率。 首先,我们来探讨一下Hibernate的核心概念。Hibernate允许开发者用...

    FF.MSOL.SOA.rar_jpa hibernate_spring hibernate_spring mvc

    标题中的“FF.MSOL.SOA.rar_jpa hibernate_spring hibernate_spring mvc”表明这是一个关于Java企业级开发的资源包,其中涉及到的主要技术栈是JPA(Java Persistence API)、Hibernate、Spring以及Spring MVC。...

    Struts2_CRUD.rar_Struts2_CRUD_Struts2的增改删查 操作 示例_struts2_struts2

    综上所述,"Struts2_CRUD"示例涵盖了使用Struts2框架进行基本数据操作的核心概念和实践。通过学习这个示例,初学者可以理解如何在Struts2中组织Action、Form、Interceptor、配置文件和视图,以及如何实现CRUD操作和...

    first_demo.rar_DEMO_struts2_struts2 hibernate_简历

    标题中的"first_demo.rar_DEMO_struts2_struts2_hibernate_简历"表明这是一个关于使用Struts2和Hibernate框架开发的初级示例项目,主要功能是实现简历的创建、查看、编辑和删除操作。这个DEMO是针对初学者或者开发者...

    hibernate_min_lib_3.5.zip

    2. **JPA(Java Persistence API)**:虽然Hibernate最初并不依赖JPA,但在3.5版本中,已经完全兼容JPA标准,使得开发者可以选择使用JPA API进行编程,同时享受到Hibernate的强大功能。 3. **Hibernate Annotations...

    hibernate-tutorials_java_hibernate_Eclipse_fallenweg_

    《Hibernate教程:从入门到精通》 在Java世界中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本教程针对初学者,旨在提供全面的Hibernate学习指南,结合Eclipse集成开发环境...

    SimpleCRUD_beginners_crud_

    **简单Java CRUD操作指南** 在IT领域,"CRUD"是创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)四个英文单词的首字母缩写,这是数据库操作的基础。本教程主要面向初学者,将详细介绍如何在Java环境中...

Global site tag (gtag.js) - Google Analytics