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. sqoop 操作从hdfs 导入到mysql中语句

    将hdfs下/dw/dms/usr_trgt下的文件导入到mysql中test数据库下usr_trgt表中 sqoop-export   --connect jdbc:mysql://mysqlDB: ...

  2. 不忘初心 --- 重读<<The C Programming Language>>

    这篇文章应该发布在好几年前,2011年计算机界大师Dennis Ritchie仙逝,那时对大师的映象还停留在大一刚学编程时:Unix的合作开发者,C语言的发明人.通过网上的纪念文章<<Un ...

  3. jQuery中append(),prepend()与after(),before()的区别

    在jQuery中,添加元素有append(),prepend和 after(),before()两种共四个. 根据字面意思我们可以看出他们分别是追加,添加和之前,之后,意思相近.同时他们又都有添加元素 ...

  4. struts2 之 【struts2简介,struts2开发步骤,struts2详细配置,struts2执行流程】

    入门框架学习避免不了的问题: 1. 什么是框架? 简单的说,框架就是模板,模子,模型.就是一个可重用的半成品. 2. 如何学习框架? 学习框架其实就是学习规则,使用框架就是遵循框架的规则,框架是可变的 ...

  5. Linux轻松使用vim

    VIM命令---Vi IMproved, a programmers text editor文本编辑 1>gedit   图形文本编辑工具 2>vim      字符界面的编辑工具 写脚本 ...

  6. Android sdk配置 常见问题及处理方法

    1. 下载sdk压缩包,解压后显示 2.双击SDK Manager.exe 程序进入如下界面 注:有的童鞋可能遇到如下问题 一般将一和二两种操作都完成就OK了 一. 更新sdk,遇到了更新下载失败问题 ...

  7. JavaScript中screen对象的两个属性

    Screen 对象 Screen 对象包含有关客户端显示屏幕的信息. 这里说一下今天用到的两个属性:availHeigth,availWidth avaiHeigth返回显示屏幕的高度 (除 Wind ...

  8. Web API 之SelfHost与OwinSelfHots加载外部程序

       下面就一些web api的一些基础内容进行阐述,然后就web api宿主承载中的实际业务问题进行解决 HttpController      HttpController的激活是由处于消息处理管 ...

  9. 集合框架Map、List、Set

    map分为:HashMap,TreeMap,LinkedHashMap,WeakHashMap和IdentityHashMap. 在实际开发的过程中,最常用的是HashMap,下面介绍一下最常见的用法 ...

  10. Native App和Web App 的差异

    开发者们都知道在高端智能手机系统中有两种应用程序:一种是基于本地(操作系统)运行的APP:一种是基于高端机的浏览器运行的WebApp,本文将主要讲解后者. WebApp与Native App有何区别呢 ...