我在一个团队工作,为一个绿地系统集成项目调查技术堆栈。我们喜欢的技术堆栈的一部分使用Hibernate来保持其内部状态,并将钩子暴露到Hibernate事务中,以便业务实体与该实用程序的状态保持同步。很好,不过我们需要维护未知类型实体的信息,并将该数据链接到预定义类型。我们需要一个不需要预先定义模式的可伸缩数据存储。最佳方案是混合RDF数据和Hibernate管理的实体
您是否遇到过类似的要求?您可以推荐哪些方法?
任何RDF/ORM混合都需要支持用于报告和数据探索的不频繁的大规模查询,以及支持
我有以下(部分)层次结构:
@映射超类
公共抽象类持久性{
@身份证
@GeneratedValue(generator=“系统uuid”)
@类型(Type=“pg uuid”)
公共UUID getId(){
返回id;
}
}
@实体
@继承(策略=InheritanceType.JOINED)
@鉴别器列(name=“TYPE”,discriminatorType=discriminatorType.STRING)
公共抽象类AbstractCredential扩展Persistent
我正在尝试将HibernateXML文件迁移到JPA注释。
我需要在JPA地图和集合。
目前,我正在使用一对多、多对一集合注释,但我找不到区分不同集合的属性。
对此有什么建议吗?您不能指定JPA实现使用的集合的具体实现。您必须使用常用的集合接口(Set、List等):持久性提供程序将实现这些接口,并根据需要设置实体的属性
OneToMany关系的一个大问题(以及默认策略)是延迟加载。持久性提供程序将实现集合接口,以便在首次访问集合中的元素时,它可以友好地加载相关实体。这就是为什么您不能指定集合的
注:
这是一个croass帖子:
因为我没有得到答案,所以我在这里问,看能不能得到一些帮助
如果在这里解决了这个问题,我将在hibernate论坛上发布答案。:)
在我的应用程序中,我有一些拥有一些集合的实体,但我不知道如何删除它们
这是我公司的核心代码:
代码:
我收到一个错误,上面写着“无法删除或更新父行…”
然后我试着用修理工具修理
sess.delete(t)
到
我现在得到了一个错误,但任务实际上并没有被删除
我已经在映射中设置了级联。例如,对于task对象中的tasksteps,
如果用户没有为组件提供名称,我想生成一个GUID id
@Entity class Component {
@Id @Column(length = 32)
String name;
}
我不能在这里使用生成器,因此可以显式指定名称
虽然我可以添加另一个id字段,并将名称命名为@naturaid:
@Entity class Component {
@Id
Long id;
@Column(length = 32)
String nam
我有一份产品清单(产品是id、名称、价格等)。
这些产品在另一个报告表中由id(HibernateXML中未链接)引用
我想有一个方法,可以接收产品列表,然后获取这些产品并生成一个where x in(productlist)。我的hql如下所示:
SELECT category, SUM(id.downloadTrackingCount) " +
"FROM Reporting " +
"WHERE (id.productId IN (:products)) AND (id.fullDownl
我正在实现一个数据库表,如下所示:
Do_Something
------------
Id
Name
Frequency
频率目前只能是3个值中的1个;立即、每天或每周。因此,我可以将频率字段实现为字符串,在这种情况下,hibernate映射将是一个简单的枚举。然而,尽管代码实现很简单,但在数据库端,它似乎丑陋且效率低下,有成千上万的Strings。也许我有一个频率表:
Frequency
---------
Id
Value
现在我把Do_Something.Frequency字段作为这
假设我有以下实体:
商店:
component
{
property name="Id" fieldtype="id" generator="native";
property name="Name";
property name="Fruits" fieldtype="one-to-many" cfc="Fruit" inverse="true" cascade="all-delete-orphan";
property name="Vegetables" fi
我有一个sql查询,如下所示:
List<Employee> employees = getCurrentSession()
.createSQLQuery(
"select"
+ e.id as id,e.first_name as firstName,e.password as password
标签: Hibernate
ehcachesecond-level-cacheterracotta
使用Ehcache作为Hibernate的二级缓存提供程序并将其与Terracotta一起分发,与使用Terracotta Hibernate缓存和Terracotta Hibernate代理有区别吗 简而言之,后者已被弃用,您应该使用前者。
terracotta Hibernate cache&其他早于Ehcache收购。与此同时,ehcache(与terracotta集群或不与terracotta集群)进行了大量投资,并为您提供了更好的结果 太好了,谢谢!这是我猜到的,但我不太确定。我一直在
我正在尝试优化我的数据库表一点。但是我对Hibernate/JPA缺乏了解,现在帮不了什么忙
我有一个Java对象模型,大致如下所示:
ParentClass
SubClass1
SubSubClass1
SubSubClass2
SubSubClass3
SubSubClass4
SubClass2
SubSubClass5
SubSubClass6
ParentClass
- SubClass1
- SubClass2
- Su
我正在尝试删除一个包含实体映射的实体,如下所示:
@Entity
public class TrxReport extends Model {
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "StatCategory")
@MapKeyColumn(name = "TrxReport_key", nullable = false)
@Cascade(value = { Cas
我使用此方法创建了无状态会话bean:
@Override
public List<Character> getUserCharacters(int userId) {
User user = em.find(User.class, userId);
if(user != null)
return user.getCharacters();
else
return null;
}
但是当我执行这个方法时(从我的@命名的bean
我想在同一服务(事务)中合并(更新)同一实体后,选择一个实体及其子实体(join)。我知道merge会返回您更新的对象,但这个对象包含已更新的数据,而不是包含数据库数据的所有实体。此外,如果在合并后我执行一个select尝试获取实体及其所有子实体,它将返回仅更新数据的对象(其余字段和子实体为空)
有办法解决吗?必须在同一事务中执行所有操作,因为服务有很多数据库操作,在提交之前必须正确执行这些操作
谢谢。
问候。这一切都取决于您如何构建代码。如果你能提供更多的信息/代码来说明你想要实现的目标,这会
更新
我想知道是否已经从NHibernate的第一个缓存中删除了一个实例
private static void Evict()
{
using (var session = sessionFactory.OpenSession())
using (var transaction = session.BeginTransaction())
{
var customers = s
我正在使用netbeans,
并希望将struts和hibernate集成到一个简单的应用程序中,以便在jsp页面上显示表的所有数据
但是我得到了以下错误
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.reflect.Invoca
我对hibernate没有什么问题
我提出了一个基本问题:持久性标识可以在数据库中有相应的行。那么,在hibernate中,Persist对象的优点是什么
如何使用hibernate和Oracle从表中获取最后一行
在我的应用程序中,保存员工姓名、出生日期、加入日期等个人信息。我们在数据库中存储员工姓名、姓氏和姓氏。例如:
Firstname Lastname
======= ======
Rinkan John
如何从hibernate对象中检索Rinkan John
H
在grails运行期间,应用程序hibernate事件会定期触发,不会出现问题。但是,在每个集成测试用例期间,不会触发这些相同的事件。下面是我的代码精髓,简化为最简单的形式。hibernate是否在集成测试期间使用?是否可以采用不同的测试方法?欢迎提出建议或意见
集成测试
@Mock ([User])
class SomeIntegrationTests {
@Test
void testSomething () {
如何从DAO类为下面的方法创建junit测试方法(使用EasyMock和PowerMock)
public List<MyVo> getSomeValue(final String systemId) {
//assume template set by @Resource(name = "hibernateTemplate")
HibernateCallback<List<MyVo>> callback = new HibernateCall
我必须在hibernate的条件查询中创建这种类型的查询
SELECT *
FROM
${hibernate.default_schema}.VW_GEMS_CUST_TRNG_RPT CUSTOMER,
(SELECT * FROM ${hibernate.default_schema}.VW_GEMS_VENUE WHERE ORG_NAME =?)
VENUE
WHERE
CUSTOMER.PR
我正在使用JPA/Hibernate+Spring构建一个基于类别的web应用程序多语言
我目前构建了这三个bean/实体:Category、CategoryLanguage和Language
类别:
@Entity
public class Category implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@ManyToOn
我刚开始学习Hibernate,就面临着这样的任务。
我有三个表:studentsid、name、coursesid、name、markid\u student、id\u course、mark
Courses.java
public class Courses implements Serializable {
private Integer id;
private String courseTitle;
private Set<Marks> mark =
我使用STS并创建了MVC模板项目。我想使用hibernate,但不知道将hibernate.cfg.xml放在哪里。在默认项目中,我只是把它放在src/文件夹中
static {
try {
// Create the SessionFactory from hibernate.cfg.xml
//AnnotationConfiguration
sessionFactory = new Conf
我只需要使用Hibernate调用MySql存储过程并基于它编写一个文件。
但是有30万到40万行是从存储过程返回的,它们非常大
这是我的代码片段
try {
session = sessionFactory.getCurrentSession();
query = session.createSQLQuery("CALL MyStoredProcedure();");
List<Object[]> result = query.list();
} catch (HibernateE
在我的Grails代码中,我希望同时使用分页和distinctlist,但是Grails不支持这一点
所以我在谷歌上搜索了一些,发现了这句话:
resultTransformer CriteriaSpecification.DISTINCT_ROOT_ENTITY
应该解决这个问题
但对于我的环境,它似乎工作不好,并引发如下异常:
groovy.lang.MissingMethodException: No signature of method: resultTransformer() is
我不熟悉Hibernate 3。当我试图绘制三个具有以下关系的表时,我遇到了一些问题:
ITEM_MASTER (Table):
ITEM_ID-PK
LOCATION_ID
ITEM_MASTER_ATTR (Table):
ITEM_ID - FK
ITEM_ATTR_ID - FK
ITEM_ATTR_VALUE - STRING
ITEM_ATTR (Table):
ITEM_ATTR_ID - PK
ITEM_ATTR_NAME - STRING
每个项目可以在项目_master
JPA2.0
具有以下可嵌入类的实体类
@可嵌入
公共阶层人士{
私有字符串名称;
//访问者。。。
}
@实体
公营雇员{
@身份证
私有整数id;
@嵌入
私人;
//访问者。。。
}
JPA查询如下:
字符串名称=myname;
字符串queryStr=从员工e中选择e,其中e.person.name=:name;
TypedQuery query=entityManager.createqueryqueryquerystr,Employee.class;
query.setParamet
我有以下代码:
public class Parent{
@OneToMany(mappedBy="parent",
targetEntity= Child.class,
fetch = FetchType.LAZY,
cascade= CascadeType.ALL,
orphanRemoval=true)
List<Child> children;
}
public class Child{
@M
一个简单的问题是,如果有人在这方面有经验:
是否可以使用Hibernate(具有完整功能)而不使用
桌子上的外键
在我的例子中,我需要这样做,因为我想反向工程一个liferay数据库和实体,而在liferay中,外键只是把事情搞砸了(liferay不支持外键),所以如果我可以在某个hibernate参数中关闭外键更改,这将是一个很好的解决方案(我知道它不起作用,所以可能需要一些解决方法)Hibernate根本不关心外键。你是否有外键并不重要。假设你有
@Entity
public class P
我试图理解hibernate的继承类型
当我查看文档时,使用union子类技术,每个具体类主题都有一个表。关于这个我有一些问题,
一,。为什么我们需要联合子类映射?
2.我们什么时候实现union子类?
3.为什么不能为union子类使用id生成器?
4.与连接的子类相比有什么优势?这听起来像是一个家庭作业问题。如果是的话,应该提到这一点。而且,可能属于程序员的SE,不是这样。
我正在使用Hibernate4、JSF2.2和PrimeFaces4。
当我创建实体CRUD表单时,我应该使用哪种策略
将对象用于关系和实体通用转换器:
<h:inputHidden id="gender" value="#{user.gender}" converter="entityconverter"/>
Gender.java:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional
是否有人遇到以下问题
我能够使用jboss工具在eclipse内部的jboss中成功地构建、部署和运行我的javaee6应用程序。但当我们将它部署到另一台独立运行的服务器上时,出现了一个错误。我在eclipse所在的同一台机器上尝试了它,并在jboss上独立运行,但得到了相同的错误
请参阅下面的错误,我已删除了一些部分
06:53:46,423 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http-/127.0.0.1:80
在我看来,Tomcat忽略了presistence.xml,但我把它放在了正确的目录中,在部署.war项目时,表不会在我的数据库中创建
My pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/
由于某些原因,hibernate生成器创建了错误的映射(注释)。不,没有错误,情况如下:
我有一个带有附加列的多对多表,我想把数据放在那里(数据没有记录,没有错误或查询)
也许有人知道答案?如果你不知道,请阅读下面的内容
我做了与下面链接相同的事情(并不是说我想在页面上做广告)
(上一页的作者注意到发电机没有正常工作)
我在上做了同样的事情,但我有这个错误
org.springframework.beans.factory.BeanCreationException: Error creat
我知道我错过了一些非常愚蠢和次要的事情。从DB到hibernate pojo的映射中有些地方不正确。我一根手指也插不上。请帮我识别错误
我想知道为什么hibernate会在DeviceDetails类上抛出异常。我在HBM文件中提到了CDeviceDetails(hibernate的pojo)
com.mycompany.common.contracts.CDeviceDetails
@XmlRootElement
public class CDeviceDetails implements I
当我部署到我的Wildfly时,我希望我的所有数据库表都将被删除并再次创建。但我的数据库中仍然存在一些旧表(旧Java实体)
这是我的persistence.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc
我有一个Users实体,它在几个不同的应用程序中复制,它只是从application.cfc继承数据源。我试图将应用程序的某些部分合并到一个位置,因此我需要使用不同的数据源访问实体,因为一个应用程序将访问所有部分
component accessors=true persistent=true table=“Users”entityName=“Users”extends=“common.model.BaseActiveEntity”{…}
根据我在网上找到的信息,我应该能够通过虚拟实体服务为该实
标签: Hibernate
spring-dataspring-data-jpamulti-tenantdiscriminator
我正在尝试让Spring数据JPA与Hibernate一起使用自定义的MultiTenantConnectionProvider
我下面的配置中的一切似乎都正常。每次尝试调用存储库方法时,都会调用我的MultiTenantConnectionProviderImpl类
主要问题是无法提供租户标识符。Spring数据提供的存储库接口负责获取Hibernate会话
有没有办法为Spring数据提供租户标识符?或者我们是否可以在某个地方拦截Hibernate会话的创建,以便适当地调用
sessionF
我在应用程序中使用的是旧版本的Hibernate。我在代码中使用了session.lock(object,LOCKMODE.UPGRADE),以避免stalestate异常。我能够解决这个问题,但在一些DB事务之后,应用程序被挂起(我猜死锁正在发生)。我的目标是在我的事务完成后,我想移除对象上的锁。我怎样才能达到同样的效果
我面临的问题(StaleStateException)不是因为分离的对象。这是因为在我们持久化到数据库之前,实体正在被其他事务(或线程)修改。下面是我们的代码流
DbReco
编辑:当我打开Glassfish的事务日志时:
CLASSNAME: com.sun.enterprise.transaction.JavaEETransactionImpl --Created new JavaEETransactionImpl, txId = 21
Hibernate: update ...
Hibernate: delete ...
CLASSNAME: com.sun.enterprise.transaction.JavaEETransactionImpl --I
我有一个带有Spring Boot 1.3.8的多模块项目。目前我想升级到1.4.1,但现在很痛苦,因为像querydsl、thyemeleaf和hibernate这样的主要升级很少
因此,我找到了可以将Hibernate 5与Spring Boot 1.3.8结合使用的信息,您只需在属性中覆盖Hibernate的版本号。(例如:)
我在家长会上做过:
<properties>
<hibernate.version>5.0.11.Final</hiberna
如何使用TermQuery同时检查null和notnull值
1. TermQuery termQuery = new TermQuery(new Term("referencekuki.unit.name","Kuki"));
2. query.add(termQuery, BooleanClause.Occur.SHOULD);
3. BooleanQuery q = new BooleanQuery();
4. q.add(new TermQuery(new Term("r
我有一个JPA实体,看起来像这样。请注意@EntityListeners注释:
import javax.persistence.EntityListeners;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
@XmlRootElement
@MappedSuperclass
@EntityListeners( { AuditingEntityListener.class } )
publi
我们目前正在开始实施一个大量使用数据库实体的nee软件。
您可以将其视为一个带有一些附加业务逻辑、验证等的数据库编辑器,。。。
我们使用SpringBoot和jpa、hibernate和jsf作为视图技术。
例如,一个用例:
-搜索实体(显示匹配结果列表)
-打开一个图元进行编辑
-更改或添加一些实体道具
-保存或取消编辑模式
-返回显示更新实体的列表
在这种情况下,处理实体的良好模式是什么?
我指的是复制、绑定、更新或还原实体及其更改
创建要编辑的实体的克隆并将此克隆绑定到ui是一个好主意吗?
我刚开始冬眠,
根据下面的文章,似乎在大多数情况下,映射关系的最佳方式是单向的,而不是像Q和子实体数量有限的应用程序这样的特殊情况
链接-
这是正确的吗??我想清除我的doughts并开始我的关系映射。单向或双向,这取决于您的要求。
例如:-
A和B是两个实体:
1> A与B有一个单向关系,这是一个您不需要的场景
加载B时需要/想要加载A。
2> 如果要在加载B时加载A,则需要一个bi-
方向映射。对于问答应用程序,我认为我们需要双向映射。
对于给定的问题,您需要知道已经给出的答案。
为了得到
我有一个UserData表,其中包含诸如name、userRole、phonenumber等字段。userRole字段可以包含诸如ADMIN、USER、MANAGER、OWNER、VIEWER等值。我正在尝试编写一个JPA本机查询,检索userRole为ADMIN、USER、MANAGER….的所有行
从屏幕中选择搜索条件。JPA查询可以是什么,它类似于下面的SQL查询
从UserData中选择*,其中userRole=ADMIN或userRole=USER或userRole=MANAGER,依
例如,我有两个实体:User和JobOffer。我希望在一个页面上显示来自这两个实体的列。我发现这在DTO中是可能的,我的问题是:不使用DTO是否有可能以不同的方式实现它?
User.java
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_user")
private Integer id;
我有下面的Main类,我试图使用hibernate调用EntityManager的remove()。在persistence.xml文件中使用
SpringDataJPA是对jpa的抽象,SpringDataJPA默认实现HibernateORM。为了使用hibernate,我们创建了sessionFactory。但是为什么我们在使用spring数据JPA时不创建会话工厂呢?这个问题混淆了许多与spring、Hibernate和JPA相关的概念,让我试着解开它们:
Spring数据jpa是对jpa的抽象
在某种程度上,我想
SpringDataJPA默认实现HibernateORM
嗯,没有。Spring数据使用Hibernate作为J
我拥有以下实体:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.STRING)
public class PartnerEntity implements Serializable {
private static final long ser
1 2 3 4 5 6 ...
下一页 最后一页 共 236 页