Hibernate createQuery调用joincolumn
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的更多相关文章
- Hibernate中调用带有underscore的Column Name
Hibernate中默认的NamingStrategy不支持调用带有下划线的column name.在hibernate的bean中必须使用camel case.使用ImprovedNamingStr ...
- Hibernate不调用update却自动更新
案例: TInfCustomer cus = (TInfCustomer) this.baseDao.getOne(helper); cus.setXXX cus .setXXX 不调用update也 ...
- hibernate中调用query.list()而出现的黄色警告线
使用hibernate的时候会用到hql语句查询数据库, 那就一定会用到query.list();这个方法, 那就一定会出现一个长长的黄色的警告线, 不管你想尽什么办法, 总是存在, 虽然说这个黄色的 ...
- Hibernate的调用数据库的存储过程
Hibernate并没有给出直接调用数据库的存储过程的API,所以咋们就要通过调用原生的的connection对象来实现对存储过程的条用 Hibernate调用存储过程的步骤: 1:获得原生conne ...
- hibernate createQuery和createSQLQuery 查询结果count计算
createQuery 针对hql语句查询 Query query=getSession().createQuery(hql);int result =((Number) query.iterate( ...
- hibernate createQuery查询传递参数的两种方式
String hql = "from InventoryTask it where it.orgId=:orgId"; Session session = getSession() ...
- 使用Hibernate模板调用存储过程
前提是该Dao类已经已经继承了org.springframework.orm.hibernate5.support.HibernateDaoSupport,并且在整个项目中已经配置好了事务,或者是手动 ...
- hibernate不调用save也保存上了
List<Instrument> insts = instService.search(search); if (insts.size() == 1) { Instrument inst ...
- Hibernate调用Oracle的存储过程
众所周知,当过多的使用存储过程,触发器等 数据库方言相关的应用时,应用程序的移植性会变差,特别是在Hibernate中使用这些,简直是讽刺,但是当今中国又有哪家公司做项目会关心应用程序的移植性呢? 现 ...
随机推荐
- 老李分享:Web Services 组件 1
老李分享:Web Services 组件 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...
- android中的 Toast 和 AlertDialog
Toast 一般用来显示一些不需要用户操作的提示信息,举个栗子: public void toast(String msg) { //---创建并设置显示的内容和显示时长 Toast toast = ...
- python 实例方法,类方法和静态方法
在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限制,可以是self,也可以是cls,不过根据人们的惯用用法, ...
- QQ_SingleTalkClient
package test_teacher;import java.io.*;import java.net.*;public class SingleTalkClient{ public sta ...
- node.js前后台交互示例 -- 使用node.js实现用户注册功能
node.js环境自行搭建,参考菜鸟教程的node.js就可以. 1 通过ajax提交index.html中form表单 register.html文件如下: <!doctype html> ...
- 栈实现getMin
题目 实现一个特殊的栈,在实现栈的基本功能的基础上,在实现返回栈中最小元素的操作. 要求 pop.push.getMin操作的时间复杂度都是O(1). 设计的栈类型可以使用现成的栈结构. 解答 在设计 ...
- R语言写2048游戏
2048 是一款益智游戏,只需要用方向键让两两相同的数字碰撞就会诞生一个翻倍的数字,初始数字由 2 或者 4 构成,直到游戏界面全部被填满,游戏结束. 编程时并未查看原作者代码,不喜勿喷. 程序结构如 ...
- 新手介绍简单一下iOS开发中几种界面传值
首先在处理iOS-UI中,也许在很多地方需要用到两种甚至多种不同界面之间的传值,相比这也是很多iOS入门成员头疼问题,同样作为新手的我在接触这类传值时候也一脸懵然,经过一段时间的研究,对于简单的传值有 ...
- 光场相机重聚焦之三——Matlab光场工具包使用、重聚焦及多视角效果展示
这一小节说一下Matlab光场工具包的使用,展示重聚焦和多视角的效果. 从Lytro illum中导出的raw数据为.lfp格式的光场图像文件(约52M大小),该文件包含以下几部分:光场图像数据raw ...
- JS对象或属性的不变性
提到不变性,不得不提一个概念: 对象常量定义:结合可写性与可配置性可以创建一个真正的常量属性(不可修改.重定义.删除) 不变性可划分为以下几个等级: 1)禁止扩展:Object.preventExte ...