1. Beans

a. Version Bean

package locationService.beans;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List; import javax.persistence.*; import org.hibernate.annotations.GenericGenerator; import locationService.beans.Entities;
import locationService.beans.Attribute;
import locationService.beans.AttributeTag;
import locationService.beans.EntityToEntity;
import locationService.beans.Tag; @Entity
@Table(name = "version")
public class Version {
private int versionId;
private boolean complete;
private Timestamp editDate;
private String author;
private String description;
private int preVersionId;
private List<Entities> entities = new ArrayList<Entities>();
private List<Attribute> attribute = new ArrayList<Attribute>();
private List<AttributeTag> attributeTag = new ArrayList<AttributeTag>();
private List<EntityToEntity> entityToEntity = new ArrayList<EntityToEntity>();
private List<Tag> tag = new ArrayList<Tag>(); @Id
@GeneratedValue(generator = "increment")
@GenericGenerator(name = "increment", strategy = "increment")
@Column(name="version_id")
public int getVersionId() {
return versionId;
}
public void setVersionId(int versionId) {
this.versionId = versionId;
} @Column(name="complete")
public boolean getComplete() {
return complete;
}
public void setComplete(boolean complete) {
this.complete = complete;
} @Column(name="edit_date")
public Timestamp getEditDate() {
return editDate;
}
public void setEditDate(Timestamp editDate) {
this.editDate = editDate;
} @Column(name="author")
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
} @Column(name="description")
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
} @Column(name="pre_version_id")
public int getPreVersionId() {
return preVersionId;
}
public void setPreVersionId(int preVersionId) {
this.preVersionId = preVersionId;
} @OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "version_id", nullable = false)
public List<Entities> getEntities() {
return entities;
}
public void setEntities(List<Entities> entities) {
this.entities = entities;
} @Override
public String toString() {
return "versionId is " + versionId + ", preVersionId is " + preVersionId + ", author is " + author;
} }

b. Entities Bean

package locationService.beans;

import javax.persistence.*;

import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name = "entities")
public class Entities {
private int entityId;
private String label;
public enum entityType {
location, group;
} private entityType locationOrGroup;
@Id
@Column(name="entity_id")
public int getEntityId() {
return entityId;
}
public void setEntityId(int entityId) {
this.entityId = entityId;
} @Column(name="label")
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
} @Column(name="location_or_group")
@Enumerated(EnumType.STRING)
public entityType getLocationOrGroup() {
return locationOrGroup;
}
public void setLocationOrGroup(entityType locationOrGroup) {
this.locationOrGroup = locationOrGroup;
} @Override
public String toString() {
return "entityId is " + entityId + ", label is " + label + ", locationOrGroup is " + locationOrGroup;
} }

2. Call Method

  /**
* Check whether this entities id has been in the version
*/
public boolean checkEntitiesPK (Version version, int entityId) {
Session session = Config.getSessionFactory().openSession();
session.beginTransaction(); int versionId = version.getVersionId(); Query query = session.createQuery("from Entities where entityId = :entityId and version_id = :versionId");
query.setParameter("entityId", entityId);
query.setParameter("versionId", versionId); @SuppressWarnings("unchecked")
List<Entities> o = query.list();
if (o == null || o.size() == 0){
return false;
} return true;
}

  

Hibernate createQuery调用joincolumn的更多相关文章

  1. Hibernate中调用带有underscore的Column Name

    Hibernate中默认的NamingStrategy不支持调用带有下划线的column name.在hibernate的bean中必须使用camel case.使用ImprovedNamingStr ...

  2. Hibernate不调用update却自动更新

    案例: TInfCustomer cus = (TInfCustomer) this.baseDao.getOne(helper); cus.setXXX cus .setXXX 不调用update也 ...

  3. hibernate中调用query.list()而出现的黄色警告线

    使用hibernate的时候会用到hql语句查询数据库, 那就一定会用到query.list();这个方法, 那就一定会出现一个长长的黄色的警告线, 不管你想尽什么办法, 总是存在, 虽然说这个黄色的 ...

  4. Hibernate的调用数据库的存储过程

    Hibernate并没有给出直接调用数据库的存储过程的API,所以咋们就要通过调用原生的的connection对象来实现对存储过程的条用 Hibernate调用存储过程的步骤: 1:获得原生conne ...

  5. hibernate createQuery和createSQLQuery 查询结果count计算

    createQuery 针对hql语句查询 Query query=getSession().createQuery(hql);int result =((Number) query.iterate( ...

  6. hibernate createQuery查询传递参数的两种方式

    String hql = "from InventoryTask it where it.orgId=:orgId"; Session session = getSession() ...

  7. 使用Hibernate模板调用存储过程

    前提是该Dao类已经已经继承了org.springframework.orm.hibernate5.support.HibernateDaoSupport,并且在整个项目中已经配置好了事务,或者是手动 ...

  8. hibernate不调用save也保存上了

    List<Instrument> insts = instService.search(search); if (insts.size() == 1) { Instrument inst ...

  9. Hibernate调用Oracle的存储过程

    众所周知,当过多的使用存储过程,触发器等 数据库方言相关的应用时,应用程序的移植性会变差,特别是在Hibernate中使用这些,简直是讽刺,但是当今中国又有哪家公司做项目会关心应用程序的移植性呢? 现 ...

随机推荐

  1. C#研究OpenXML之路(1-新建工作簿文件)

    一.写在开头 一直想沉下心来研究研究OpenXML编程,可是由于公司编程项目一笔接一笔,很难静下来,所以一直是采用的COM操作Excel.现在终于得闲,特将心得历程记录下来. 今天的第一个实例代码是来 ...

  2. 老李分享:android手机测试之适配(1)

    Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...

  3. Redis基础学习(五)—Redis的主从复制

    一.概述     Redis的主从复制策略是通过其持久化的rdb文件来实现的,其过程是先dump出rdb文件,将rdb文件全量传输给slave,然后再将dump后的操作实时同步到slave中.让从服务 ...

  4. 关于sql语句between and的边界问题

    BETWEEN 操作符 操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围.这些值可以是数值.文本或者日期. SQL BETWEEN 语法 SELECT column_name(s ...

  5. oracle导入时提示IMP-00010:不是有效的导出文件,头部验证失败

    oracle导入时提示IMP-00010:不是有效的导出文件,头部验证失败: 原因分析:导出的oracle的版本与导入的oracle数据库的版本不一致: 可直接将dmp文件用notepad++打开修改 ...

  6. vb中创建xml

    这里是原生的做法,具体使用可做相应的封装:     Private Function GetUpdateRoomXml() As String         Dim xmlDOM As New Xm ...

  7. How to trace the Geolocation of network traffic

    A case about suspicious malware App. A forensic examiner capatured some pcap files and he'd to know ...

  8. python os模块常用方法

    OS模块是Python标准库中的一个操作模块,主要用于处理Linux操作系统中的文件和目录 1.要使用OS必须先导入OS import os 2.os.getcwd()获取当前路径. print os ...

  9. cocos2d-x-Json/XML文件

    数据存储几种方式 1. 数据库 2. 文件 3. 内存 这里介绍Json格式与XML格式的文件存储 常用的文件存储数据的格式 1. Json格式 2. XML格式 Json适合存储小数据,XML适合存 ...

  10. stl_组件

    2.1.STL中: 2.1.1.包含常用的数据结构. 2.1.2.包含常用的基本算法.结构和算法其实就是一些接口. 2.1.3.提供了一套可扩展的框架. 2.2.六大组件: 2.2.1.容器组件(基本 ...