首页 > 其他分享 >Hibernate annotation 一对多,多对一

Hibernate annotation 一对多,多对一

时间:2023-02-19 11:03:12浏览次数:42  
标签:Hibernate name void private public hibernate annotation 一对 id


 

package com.hibernate.entity;

import java.io.Serializable;


@Entity
public class Tgroup implements Serializable {


/**
*
*/
private static final long serialVersionUID = 1158932874414375265L;

private int id;

private String name;

private Set<Tuser> tUsers = new HashSet<Tuser>();

@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="tgroup")//如果不写mappedBy,那么tuser表中,将会有两个groupid,一个是groupid,一个是tgroup_id
//一对多的时候,按经验,最好写mappedBy。"tGroup"是TUser表中的tGroup字段
public Set<Tuser> gettUsers() {
return tUsers;
}

public void settUsers(Set<Tuser> tUsers) {
this.tUsers = tUsers;
}

}

 

 

package com.hibernate.entity;

import java.io.Serializable;

@Entity
public class Tuser implements Serializable {

/**
*
*/
private static final long serialVersionUID = -635427302186865965L;


private int id;

private String name;

private Tgroup tgroup;

@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;
}


@ManyToOne
@JoinColumn(name="groupid")//这样,在Tuser表中,就有一个groupid的外键与Tgroup表的id关联
public Tgroup getTgroup() {
return tgroup;
}

public void setTgroup(Tgroup tgroup) {
this.tgroup = tgroup;
}



}

 


<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">
jdbc:mysql://localhost/test
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>

<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>



<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>

<!-- Disable the second-level cache -->
<property name="cache.provider_class">
org.hibernate.cache.NoCacheProvider
</property>

<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>

<property name="format_sql">true</property>
<!--
<mapping class="com.hibernate.entity.Husband" />
<mapping class="com.hibernate.entity.Wife" />
-->
<mapping class="com.hibernate.entity.Tgroup" />
<mapping class="com.hibernate.entity.Tuser" />
</session-factory>

</hibernate-configuration>

 

 

package com.hibernate.test;


import org.hibernate.SessionFactory;

public class ORMappingTest {

private static SessionFactory sessionFactory;

@BeforeClass
public static void setUpBeforeClass() throws Exception {
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
}

@AfterClass
public static void tearDownAfterClass() throws Exception {
sessionFactory.close();
}

@Test
public void testSchemaExport() {
new SchemaExport(new AnnotationConfiguration().configure()).create(true, true);
}

}


标签:Hibernate,name,void,private,public,hibernate,annotation,一对,id
From: https://blog.51cto.com/u_21817/6066622

相关文章

  • Hibernate annotation 联合主键
    Hibernateannotation联合主键  packagecom.hibernate.entity;importjava.io.Serializable;importjavax.persistence.Entity;importjavax.persistence.GeneratedValu......
  • 用myeclipse的Hibernate 反向引擎 生成 数据库的 entity
    把Myeclipse转到DBBrowser 新建一个DatabaseConnectiondriver 然后找到要反向工程的表 右键->HibernateReverseEngineering然后,选好entity缩放的目录对CreatePO......
  • Hibernate 性能优化_1
    大概如此:不一定说在每个项目中都合适 1、比如,开了N多文件而没关,比如开了地址池而没清,比如分页读了N多页而没有清内存 2、对于ManyToOne,如果设为FetchType=Eager,则会产生1+......
  • Hibernate 的 join
    转的: 1.如果没有在Hibernate配置里做关联,在Hql里面是不能用join的。2.Hql里面的join是没有"ON"子句的。3.如果是innerjoin,Join的依据就是事先设计好关联4.如果要用......
  • Hibernate 性能优化_3
    二级缓存 对于二级缓存,其实并不一定要在项目中使用除非是对项目要求非常高的情况下使用 如果要用,应使用在:经常被访问,改动不大,数量不多,比如权限,比如组织机构 load()默认使......
  • Hibernate 性能优化_2
    createQuery("FROM****").list()和createQuery("FROM****").iterate()的区别 1、list()时,会取出所有的数据,Iterate()时,只取所有记录的主键,当用到哪条时,再根据id去取哪条......
  • Spring AOP annotation 简单实例
    最后输出(可以看出各种通知的时间): 我是前置通知。我是环绕--进。aa已成功保存我是后置通知。我是最终通知。我是环绕--出。 app.xml:<?xmlversion="1.0"encoding......
  • 一封传话一对多推送实现步骤
    前言前面介绍了一封传话聚合推送API的在线测试推送的步骤,可以实现一对一发送消息。但是我们希望实现:1.群组订阅功能:例如我和我的好友一起加入通道后,只推送一次我们两个......
  • 简单试用Android Annotations
    AndroidAnnotations号称"是一个能够加速Android开发的开源框架,它可以帮助开发者处理一些前后台任务、rest服务、应用类、代码片段等,让开发者专......
  • 10.1 汇编语言和本地代码是一一对应的
    在加法运算的本地代码中加上add(addition的缩写)、在比较运算的本地代码中加上cmp(compare的缩写)等。这些缩写称为助记符,使用助记符的编程语言称为汇编语言。通过查看汇编......