我们使用Hibernate和ehcache作为二级缓存
如果我加载一个缓存的实体(例如cache usage=“read-write”)并对其进行更新,这似乎会立即导致SQL更新
(如何)我可以影响何时进行此SQL更新
编辑:似乎设置a应该会有效果,但是无论我设置了哪种缓存模式,每个hibSession.update()都会立即生成SQL更新
如果我加载一个缓存的实体(例如cache usage=“read-write”)并对其进行更新,这似乎会立即导致SQL更新
这对我来说似乎是一件非常好的事
我有一个子类和一个超类。但是,只需要保留超类的字段
session.saveOrUpdate((Superclass) subclass);
如果我执行上述操作,我将得到以下异常
org.hibernate.MappingException: Unknown entity: test.Superclass
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:628)
我想绘制“章节”的树形结构图。每一章都有一个对其父章的引用,以及一个分章的有序列表(按“位置”)。
对于JPA 2.0和Hibernate 3.5,实体“章节”如下所示:
@Entity
public class Chapter {
@Id
@GeneratedValue
private long id;
@Column(name="position", nullable=false)
private int position;
@ManyT
我很难找到一个好的解决方案来支持UI可以启动和提交事务的特性
在我以前处理事务性应用程序的方法中,我将工作单元分组到后端的服务方法中,并用spring的@transactional注释它
但是想象一下,我有几个这样的服务方法,由前端将服务方法调用分组到事务中
例如,我有methodServiceA、methodServiceB、methodServiceC。
UI可以通过以下任意组合执行类似操作:
组合1:
启动事务
调用methodServiceA+调用methodServiceB
提交事务
我正在尝试在Oracle 10g DB中创建一个插入查询。它总是给我这个错误:
错误分析器:33-第1行:115:意外标记:值
这是我要插入的DAO方法
public void uploadFile(String createUser, Integer id, byte[] file, String name, String size, String mime) {
Session session = getSessionFactory().openSession();
try
我想为特定的实体类生成创建表脚本
我可以使用hibernate(hbm2dll工具)()为我的所有类自动生成完整的脚本,但我不知道如何对此进行过滤,因此只保留与一个实体类相关的部分
您好,
劳雷斯您的实体之间是否没有声明关联?Hibernate将根据您对域模型的了解生成外键和映射表等
如果您只需要一个独立表的DDL,您可以使用该实体配置会话工厂,并将其指向一个空数据库。然后,您可以从日志中记录DDL(如上所述,由Hibernate生成),然后在获得所需内容后删除此数据库
但是,如果存在任何关联,
我有两个实体,如下所示:
设备:
设备组件管理器。类:
DeviceLinePersistenceManager dlpm=新的DeviceLinePersistenceManager();
试一试{
dpm=新设备持久性管理器();
Set=newhashset();
用于(LineStatus LineStatus:列表){
设备deviceRetrieval=dpm.findDeviceByIp(线路状态
.getDeviceIp());
如果(deviceRetrieval!=null
我正在应用程序中使用hibernate访问数据库。
我在web服务器中使用它。
我正在使用数据库中的houses表。一个用户可以拥有多个房屋。
问题是,当我向数据库发送从房屋列表中删除房屋的请求时,它正在删除数据库中的房屋。但我立即重新加载应用程序以获取用户的房屋列表。Hibernate仍在返回房屋。确保调用commit()在会话/事务上,使数据库中发生删除
例如:
Transaction t = session.beginTransaction();
session.delete(hous
我使用createCriteria和uniqueResult按id选择对象,如下所示:
Hibernate:
select
this_.employee_id as employee1_2_0_,
this_.fk_department_id as fk13_2_0_,
this_.email as email2_0_,
this_.first_name as first5_2_0_,
this_.last
我正在使用@ElementCollection作为自定义对象列表
@ElementCollection
@CollectionTable(name = "choice", joinColumns = @JoinColumn(name = "itemId"))
@OrderColumn(name = "index")
private List<Choice> choices = new ArrayList<Choice>();
如果我使用@Embeddeble annot
我的要求是,多个客户端需要连接到本地HyperSQL 2.2.8并写入。
还将有一个单独的客户端用于在同一台机器上查看。
因此,需要将多个编写器客户端和一个读卡器客户端连接到本地HyperSQL 2.2.8。
我正在使用hibernate从本地HyperSQL 2.2.8进行读写
我像这样运行hsldb作为服务器
java-cp../lib/hsqldb.jar org.hsqldb.server.server--database.0文件:mydb--dbname.0xdb
我的问题是第一个客户
当没有引用父对象的子对象时,我需要删除该父对象。这在Hibernate中可能吗?(实际上我使用的是fluent nhibernate,但我认为答案是一样的)
e、 我有许多来自不同公司的客户。当我删除公司的最后一个客户时,我也想自动删除公司详细信息
与正常的亲子关系不同,我不会有意识地选择删除公司。就用户而言,他只是删除了一个客户;删除未被引用的公司只是一个副产品。Hibernate不会神奇地帮你做到这一点。您必须自己实施它:
Company company = customer.getComp
我需要构建一个sql查询,该查询返回一个包含实体的bean。。。我试着用一个例子来解释我
这是我想从查询中获取的bean:
public class EventiPerGiorno {
private Eventi evento; // THIS IS AN ENTITY
private Date primoSpettacolo; //SCALAR
private int spettacoli; //SCALAR
...
}
这是xml查询映射:
<sql-q
我试图在hibernate中建立一个复杂的双向OneToOne映射。我上了以下课程:
@实体
@继承(策略=InheritanceType.JOINED)
公共类父类{
@奥内托内
私人实体;
}
@实体
公共类Child1扩展父{}
@实体
公共类Child2扩展父{}
@实体
公共类实体{
@OneTONE(mappedBy=“anotherEntity”)
私生子女1名子女1名;
@OneTONE(mappedBy=“anotherEntity”)
私生子女2名子女2名;
}
这里的问
我想知道您是否可以创建一个单一的条件查询,然后以某种方式创建两个独立的限制集,其中包含两个完全不同的结果集,而不必发出第二个查询?如果您找到NHibernate的.Future()的等价项,那么yes@Firo,我不确定我是否理解你的答案。NET的Hibernate NHibernate端口有一个进行批处理查询的功能,但我不知道Hibernate中是否也有一个相同的功能。这只是ab关键字,可能有助于搜索
我试图通过创建实体对象并使用Hibernate作为JPA提供程序调用persist()来填充数据库
首先,数据库是空的,然后我在一个循环中创建实体实例(100000个实例),并将每个实例持久化
此操作需要10分钟才能将所有实体注入数据库。
我正在使用免费的亚马逊云服务器机器,600 MB的RAM内存
循环如下所示:
@Transactional
void populateDataBase()
{
for(int i=0; i<100000; i++)
{
M
标签: Hibernate
freemarkerhibernate-annotationshibernate-searchhibernate-tools
我正在使用带注释的hibernate和带freemarker模板的hibernate工具来自动生成我的orm dao类
现在我想实现hibernate搜索,因此我想向这些类和属性添加hibernate搜索注释
但我不知道如何以及在何处配置希望hibernate工具注释的类和属性
freemarker模板的问题是,我通常只能为所有类定义类生成策略。但是对于hibernate搜索实现,我只想注释这些类中的特定类和特定属性
有没有办法定义我希望hibernate工具注释哪些类和getter属性?或者在
我有一个中等复杂的设计,我正试图从系统中删除一个“ItemCollection”。此对象属于发布者(一对多),具有MediaItems(一对多)和发布(一对一)。该发布被非所有者多对多中的其他两个对象引用
当我删除ItemCollection(通过调用父集合上的removeFrom()来删除)时,会触发级联,但在多对多集合上会出现外键异常。我已尝试在beforeDelete()中从其他集合中删除过帐,尽管日志输出告诉我该操作正常,但外键异常仍然发生
主要层次结构如下:
class Publi
我使用的是rev监听器的默认实现,正如预期的那样,我的REVINFO表中的列是:revtstmp和rev
然而,当我推翻默认值时,我所做的只是:
... MyRevisionEntity extends DefaultRevisionEntity
这些列名被更改为“timestamp”和“id”
有人知道为什么吗
使用envers 4.1.5_最终版本
**编辑**
由于还没有人回答,我将补充更多信息
Adam Warski编写的“DefaultRevisionEntity”类只定义了两个成员
我的映射文件有一个问题,它与组合主键的一对一关系有关,其中键的字段名不匹配
表1:
<class entity-name="CompPkTest" table="compPkTest" catalog="data" mutable="true" polymorphism="implicit" dynamic-update="false" dynamic-insert="false" select-before-update="false" optimistic-lock="version"
我想到的一个解决办法是创造一份工作。还有其他的吗?看看JPAPlugin.startTx(只读)-也许您可以直接使用它或从中获取代码。但这确实让我想知道你为什么要这么做
我认为创造一份工作听起来是个更好的主意 看看JPAPlugin.startTx(只读)-也许您可以直接使用它或从中获取代码。但这确实让我想知道你为什么要这么做
我认为创造一份工作听起来是个更好的主意 只是一个状态检查页面,没有更多。我会用一份工作。只是一个状态检查页面,没别的。我要找份工作。
@NoTransaction
pub
假设我有以下情况:
目标车有一个价格列表,都是数字。在Hibernate中是否可以将所有价格保存在一列中?我知道这违反了第一个正常形式,但可能有一些情况下,您不希望将它们保存在单独的表中,就像经典的一对多或多对多关系中那样
在JDO中,我可以通过将ArrayList保存在BLOB列中来轻松实现这一点
一些有用的相关SOF问题:和
任何想法都将受到高度赞赏 AFAIR,Hibernate将使用本机序列化并将结果字节存储在列中。但我不会这样做,而是使用专用转换,使价格在数据库中可读,并且至少能够在不
我在查询数据库并根据entity.fieldA对结果集排序时遇到问题
例如,在学校环境中(学生、教师)。我有一位老师和许多学生
//Student class
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TEACHER_ID")
private Teacher teacher;
我希望我的查询按teacher.name排序,但我只能使用teacher
因此,有一个问题:
FROM Student s ORDER BY s.tea
标准之间的区别是什么。在Hibernate标准中添加和标准。等于
举个例子:
返回25条记录
criteria.equals(Restrictions.eq("templateType", TemplateType.DEFAULT_TEMPLATE));
返回2条记录:
criteria.add(Restrictions.eq("templateType", TemplateType.DEFAULT_TEMPLATE));
当我执行hibernate.show_sql时,输出为
对于标准
我有一个遗留DB2数据库上的hibernate映射。特定表具有另一个表的外键。当与另一个表没有关联时,此列将填充空格而不是null。我在第二张桌子上有一个多对一的助手。问题是,对于外键字段中有空格的每一行,都会对数据库执行SQL,因为缓存中没有该数据库的值。有没有一种方法可以忽略join中用空格填充的字段,这样就不会向数据库发出请求?为什么不简单地将此条件添加到WHERE子句中(而不是join条件)
其中_列“”和。。。
WHERE THE_COLUMN <> ' ' AND .
我有一个关于使用@OrderBy注释的hibernate多对多映射的问题。假设我们有表A、B和粘合表A_B。我希望集合A.B按字段B.date排序。当我运行查询时,我得到一个异常,它说:
org.hibernate.exception.SQLGrammarException: ERROR: column b1_.date does not exist
问题是hibernate创建的查询是在A_B表中搜索列,而不是在B表中搜索列。我一直在网上搜索,遇到了同样的问题,但没有正确的答案(),但同时也
运行此java代码时出现异常:
List<Tuple> companies2accLoginCount = accoutLoginCountQuery
.listDistinct(new QTuple(QCompany.company1.id, QAccountLogin.accountLogin.loginDatetime.dayOfMonth().countDistinct()));
每年的第二天也是如此。似乎在年的某一天或月的某一天之后
我知道有很多关于join和join-fetch的问题。
差异解释如下:
“fetch”联接允许使用单个select将值的关联或集合与其父对象一起初始化。这在集合的情况下特别有用。它有效地覆盖了关联和集合的映射文件的外部联接和延迟声明
然而,当我有一个使用内部或外部连接而不进行抓取的条件或HQL时,我注意到实体似乎被完全抓取(我的hibernate映射使用FetchType.LAZY)。
我只是在写“join fetch”时才想到这一点。
所以我看不出这种情况有什么不同
我一定是遗漏了什么。
有人
一个实体是否可能与多个表有一对一的多态性关联。假设一个实体有两个特定列,用于:
link_type—标识应与哪个表关联的列
link_id—一旦标识了表,就定义表外键的列。我想您指的是多态关联的继承映射
实体继承
JPA有一个称为实体继承的强大功能,类似于java中的类继承。实体类可以扩展非实体类,非实体类可以扩展实体类。实体类可以是抽象的,也可以是具体的
继承策略
有3种继承策略
每个具体类的表策略
连接子类策略
单表策略
每个具体班级策略的表格
每个具体类的表继承映射策略基于为每个实体映
我在Eclipse中使用primefaces组件和Hibernate的数据持久性创建了一个JSF项目。在这个项目中,对于每个模型类,至少有两个视图(xhtml页面),一个DAO类和一个控制器类。在DAO中,有以下方法返回用于填充数据表的对象列表。下面是我用来填充数据表的DAO和xhtml页面的片段
textobaseado.java
public List<Textobase> listar()
{
List<Textobase> listTexto
要使用save而不是executeUpdate
query=session.createSQLQuery(“插入商户配置文件(用户ID、商户代码、商户名称、状态、电话号码,”+
“传真号码、电子邮件id、激活日期、到期日期、关联的组)值(?,,,,,,,,,,,,)”;
query.setParameter(0,userId);
query.setParameter(1,dto.getMerchantCode());
setParameter(2,dto.getName());
setParam
我有两个表,一个是QuickLinks,另一个是OrgUnit。OrgUnit表是父表,QuickLinks表是子表。我在QuickLinks表中添加了多对一的关系
@Entity
@Table(name ="TBL_STD_QUICK_LINKS")
public class QuickLinks {
@Id
@GeneratedValue
@Column(name = "FLD_QUICK_LINK_ID")
private Long quickLinkId;
我有一个对其他主表有很多引用的表,我想知道如何从所有这些表中获取特定记录的数据。比如说我的表有以下列:
ID(PK),FName,LName,市场ID,行业ID,货币ID等等
我想获取一个特定的记录,但不是我需要的ID,而是主表条目的实际名称。我不确定是否有直接的方法,但是,您可以将@manytone映射到主表,生成的实体如下所示
@ManyToOne
@JoinColumn(name="sector_id",cascade_type= Cascade.all,lazy=true)
privat
我正在使用HibernateJPA提供程序。加载@Entity注释类并构建各种类型树和查询树似乎需要花费3秒钟的大量时间。有没有办法加快速度?它确实使单元测试令人沮丧,即使它只发生一次
我已经关闭了架构验证和更新。谢谢。您是否将EntityManagerFactory用作静态?注:3秒钟使用hibernate一点也不坏。我是。但是如果我试图调试一个问题并重复运行一个单元测试,我必须等待3-4秒,看看我的代码是否修复了这个问题。如果我运行的是完整的套件,情况还不错,但是我的单元测试非常快。Hibe
我使用的是CXF插件版本2.0.1,并且在SOAP服务方法中简单使用了GORM。当我在服务上运行测试时,它抛出一个异常,表示它无法初始化代理,因为没有会话。根据我做的一些搜索,这是一个Hibernate问题,我假设这意味着GORM尚未正确初始化。有人能给我一个关于如何在endpoint类中手动初始化GORM的指针吗 您习惯于在控制器操作(或从那里调用的方法)中执行Hibernate工作,并且那里总是有一个活动的Hibernate会话,因为Grails使用视图模式中的Open Session,在请
我已经创建了两个表
public class A {
@Column(name = "username", unique = true, nullable = false)
@Id
String username;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "username", nullable = false)
List<B> Keys = new Arr
我希望获得一个包含集合及其集合的实体,但是我面临一些问题,如“无法同时获取多个包”或空结果集,我知道它应该包含条目。整个事情都是关于饮食的,所以我有以下几点:
public class Diet extends BaseEntity{
@NotEmpty
@Column(unique = true)
private String name;
@OneToMany(cascade=CascadeType.ALL, mappedBy = "diet")
@LazyCollection(LazyCol
我将创建此SQL查询的条件等效项:
SQL:
选择
订单号,
书名,
orderitem.quantity
来自orderitem
book.id=orderitem.book\u id上的内部连接簿
orders.id=orderitem.orders\u id上的内部联接订单
其中user_id=1
这是我的条件查询:
Criteria c = getSession().createCriteria(OrderItem.class, "oi");
c.setProjection(Proje
在Hibernate中,我们可以通过关联建立实体之间的关系
但在实体之间建立关系的好处是什么
谁能给我举个好例子
提前谢谢你这更像是一个设计或数据库问题,而不是一个休眠问题,但让我们以更一般的方式回答它:
在每个项目或系统中,都有使该系统工作的对象或实体。但是这些对象是为了相互之间以及与系统进行通信和交互,所以问题是如何设计这些交互
关系映射< /强>是这个问题的答案:在任何系统中,关系被用来指定系统对象或组件之间的交互> /强>它们之间的交互类型>强>,让我们来看看下面的同一个关联例子:
我有一本书,作者和分类实体
书与作者有一种@onetone关系,书与类别也有一种@OneToMany关系
Book实体看起来像:
@Entity
public class Book {
@Fetch(FetchMode.JOIN)
@OneToOne(orphanRemoval = true, mappedBy = "book", optional = true)
private Author author
@Fetch(FetchMode.JOIN)
根据hibernate wiki页面,谁能告诉我哪个版本的hibernate开始支持jpa
截至2010年,Hibernate 3(版本3.5.0及更高版本)是Java持久性API 2.0规范的认证实现,通过核心模块的包装提供了与JSR 317标准的一致性
所以我想说3.5.0版是最早支持JPA的版本。支持的JPA版本:JPA 1.0:ORM 3.2+JPA 2.0:ORM 3.5+JPA 2.1:ORM 4.3+
我需要我的JPA查询返回Map
例如,如果我的表是:
Person(firstName,lastName)
并包含两行:
“纳比尔”,“贝拉克比尔”
“约翰”,“列侬”
我需要我的查询返回映射的列表
第1行:
key=firtName
价值=纳比尔
--
key=lastName
值=Belakbir
第2行:
key=firtName
价值=约翰
--
key=lastName
值=列侬
提前谢谢
Nabil如果您的示例中的键名称重复。Map将覆盖这些值,并最终生成一个只
在Hibernate中,我可以通过配置对象注册自定义SQL功能:
public void registerExtensions(Configuration config) {
config.addSqlFunction("s_sum", new StandardSQLFunction("sum"));
...
}
我希望将此配置从“遗留”Hibernate切换到JPA
我已经读过,我可以通过专门化那里的方言来注册SQL函数:
这不是我想做的
在构建实体管理器工厂时,是否有方法注
我正在尝试批量更新/插入
这是代码
Session session = entityManager.unwrap(Session.class);
//Transaction tnx =null;
try {
session.getTransaction().begin();
// insert new records
if (container.getInsertMenuItems() !=
标签: Hibernate
hibernate-mappinghibernate-onetomany
我在这个网站上找到了太多的答案,但我无法解决这个错误。请帮我解决这个问题。
执行(事务)tx.commit时引发异常,但我不知道原因。如果我注释tx.commit,员工值将插入到表中,但证书值不会插入到证书表中。请检查它
完全例外
班级员工
证书类
主类
公共类EmployeeDetails{
私有静态SessionFactory=null;
公共静态void main(字符串[]args){
试一试{
工厂=新配置().configure().buildSessionFactory();
Sy
在我的项目中,我有两个带有两个实体的表。
他们之间有外键关系
我想加入它们并返回一个新的对象类型。我使用持久性从db方案生成实体
我的第一个实体是UserEntity
package com.obss.Model.Jpa;
import javax.persistence.*;
@Entity
@Table(name = "user", schema = "conmigodb", catalog = "")
public class UserEntity {
private int use
我有一个用例,两个表有复合主键,一个表和数据库中的另一个表有关系,如何在程序级获得这种关系,如何声明bean类
//表项目的复合主键
@Embeddable
@Data
public class ProjectId implements Serializable {
private static final long serialVersionUID = 12233365L;
@Column(name = "PROJECT_CODE")
使用Hibernate和JPA注释。我正在使用以下代码更新一对多关系中的实体。在这里,一个挑战可以有许多目标。我获取所有现有目标,并尝试更新所有值,但无法将其保存在数据库中。然而,如果我增加了新的目标,那么这些目标就会毫无问题地持续下去。
我没有看到任何错误或例外。
使用Hibernate更新列表并在DB中持久化不是正确的方法吗
final Challenge challenge = findChallengeById(challengeId);
challenge.getGoals().fo
假设我有两个实体:
@Entity
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
private List<PriceGroup> price
对于spring boot+hibernate我知道会话是从sessionFactory创建的,我们从会话中创建事务对象并执行任何DB操作,如save()、fetch(),然后执行提交并关闭会话。
spring boot是否为每个DB查询打开会话,并在操作后关闭会话?spring boot默认使用“在视图中打开会话”(反)模式
否则,会话将绑定到事务,事务通常由注释定义。
您还可以使用显式事务控制
如果您没有明确声明任何事务,标准Spring Data JPA repositories方法将在方
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 429 页