使用hibernate将值插入多个表

我有酒店和酒店服务的现有桌子 每个酒店都可以提供多种服务,因此在我的表单中,用户可以一次输入任意数量的服务 例如: hotel name: HOTEL1 hotel_services: 1. hotel_service1 2. hotel_service2 3. hotel_service3 我的问题是,我应该如何在hibernate中这样做,以便能够将所有数据插入它们各自的表中,即hotels和hotel_services表 谢谢你的帮助 您所描述的是酒店和服务之间的基本一对一关系,映射如下

Hibernate JPA 2.0和Glassfish 2.1

只是想知道是否可以将JPA2.0与Glassfish 2.1一起使用? 以前有人试过吗 我将使用JPA2.0的最新hibernate实现作为提供程序。谢谢我没有在glassfish 2.1中使用JPA 2.0,但我在glassfish 3中使用了JPA 1.0(toplink) 我所需要做的就是将toplink库包含到项目中,并在persistence.xml中使用它 您可以尝试将JPA2.0库包含到项目中,设置persistence.xml提供程序(例如org.eclipse.persiste

Hibernate JPA兼容

在thserverside.com上的这篇文章中: 它提到:“JBoss已经发布了Hibernate 3.2,这是他们流行的持久性引擎,现在已被证明符合Java持久性API。” 这意味着什么:“现在认证符合Java持久性API。” 旧的Hibernate(或者任何ORM工具)不是作为JPA的实现而构建的吗 在冬眠初期没有JPA。Hibernate是第一个将ORM引入主流Java开发的开源库(纯粹是我的观点)。JPA规范是在Hibernate发布之后出现的。Hibernate自然也实现了该规范,

JPA和Hibernate级联之间的混淆

我正在使用Hibernate 3.6并对代码进行注释(而不是使用Hibernate映射文件)。我遇到了使用与Hibernate的级联类型不兼容的JPA级联选项的已知“问题”(有关更多信息,请参阅此链接) 我希望得到更多关于这个问题的澄清。我有一些特别的问题: 1) 所以@Cascade({CascadeType.SAVE_UPDATE})适用于saveOrUpdate(),但是如果我使用merge()或persist(),它也适用吗?或者我必须使用所有三种Hibernate类型 2) 我如何决定

Hibernate 用新行替换现有行会导致重复键异常

各位。 用新行替换表中的现有行时出现问题。我使用JPA和PostgreSQL数据库。我正在尝试删除所有现有行,然后创建新行,但收到异常: org.postgresql.util.PSQLException:错误:重复的键值违反唯一约束“user\u destination\u pk”。所有这些操作都在单个JTA事务中。似乎JPA在插入之前不会删除行,但我没有收到删除异常。。。非常感谢您的帮助。在保存/添加新实体之前,请使用HibernateSession.flush()方法刷新(执行SQL)删除

Hibernate “调试休眠”;会议结束了"E;”滥用单边带?

(首先,这不是我的代码。其次,为了保护罪犯,我更改了类名以隐藏特定于我雇主的任何内容,因此,如果事情不一致,这就是原因!) 有人能帮我澄清一个疑问吗?我被要求调查一个完整连接池的问题,这段代码似乎有味道 我们有很多org.hibernate.SessionException:会话已关闭在我们的日志中,围绕下面的代码,它使用的连接池表现不好 这些呼叫通过web服务传入: 1 @Stateless 2 @WebService(name="MyWebService", targetNamespac

如何配置hibernate在每次访问实体时不更新@Version

我有一个返回实体的简单查询,当我查看hibernate SQL输出时,我看到当我执行此查询时,hibernate会更新@Version字段(每次连续读取时,@Version字段都会更新)。我不会修改我获取的实体中的任何内容,也不会将is作为参数传递给persist或merge。这实际上意味着我的每一次读操作都会变成读+写。 我试着将锁模式设置为“无”(JPA2)和“读”(JPA1)都没有用 有没有办法做到这一点?如果是这样,有没有办法以某种方式将其设置为persistence.xml中的默认行为

Hibernate 实体不持久-Spring+;冬眠+;JPA

我使用的是Spring+Hibernate+JPA,我遇到了无法让实体持久化到数据库的情况。我已经设置了一个用@Transactional注释的服务类。它使用包含注入的EntityManager的DAO。当我调用服务对象上的函数时,我看到DAO正在执行一系列的读取选择,但是没有由于DAO发出的合并和删除而进行更新/删除。我的设置肯定有问题,但我看不出来 persistence.xml <persistence xmlns="http://java.sun.com/xml/ns/persis

Hibernate 尝试检索插入的行时,插入失败

我有一个实体,其id是SQL Server数据库中生成的GUID(这是第三方数据库,我无法更改其架构),因此定义了字段 @Id @GenericGenerator(name="generator", strategy="guid", parameters = {}) @GeneratedValue(generator ="generator") @Column(name="FarmID") public String getId() { return id; } 创建并保存新实体时,首

Grails(Hibernate)在插入之前进行选择,但不传递id参数值

我正在开始对我的GrailsWeb应用程序进行更为严肃的测试,是时候从hsqldb转向postgres了。一切都进行得差不多,但在创建测试数据时,我在引导中遇到了一个错误。Hibernate在将行插入数据库之前尝试进行选择。 不幸的是,这样做时,它不会将参数传递给select,我得到的异常是没有指定参数1的值 以下是我的域类: class User { static constraints = { deviceId( blank: false,

Hibernate 休眠内部连接问题

我在hibernate HQL查询和HQL中有一个问题。 我有两个实体,一个是Notes,另一个是NotesEmp类,它有一对一的关系。 我的notes类如下所示 class Notes{ private BigDecimal noteId; private String notes; @Id @Column @GenericGenerator public BigDecimal getNoteId() { return noteI

在Hibernate4中定义实体

我刚刚从Hibernate4开始,我注意到它们是定义实体的两种方法。通过定义一个xml文件hbm并将其映射到一个bean,或者只定义一个bean并使用注释来映射DB-like(@Entity,@column..etc)中的表 我的问题是这两种方法有什么区别? 如果问题很简单,很抱歉,但我无法在网上找到我的答案 感谢您的帮助使用注释将您的模型(实体)与Hibernate框架绑定得相当紧密(您引入了它们之间的耦合)。另一方面,您的源代码变得更具可读性,因为您不必在XMLs和Java源文件之间切换 最

Hibernate命名查询和启动性能

我们正在使用JPA/Hibernate启动一个新的projet。团队中有人拒绝使用命名查询,说他以前遇到过性能问题。根据他的说法,命名查询不仅在启动时被解析,而且还会被执行,这将大大降低启动速度 是否正确?如果正确,是否有任何配置可防止hibernate执行查询?但它们运行得更快。。那么,您希望的是启动速度较慢还是查询性能更快 通过验证,您还可以获得很好的好处,因此可以及早发现错误 但这当然是理论。和往常一样,在性能方面,您应该在自己的系统上进行测试和验证 这是一本关于这个主题的好书: 根据他

键'的重复输入;初级';在JPA/Hibernate中

我在mysql数据库中有一个多对多关系(模块--Subject)。Entite是由Eclipse生成的,我在两个类中都添加了方法add。我使用JBossAS7/Hibernate。当我在EJB中调用persist方法时,我得到 org.hibernate.exception.ConstraintViolationException: Duplicate entry '3' for key 'PRIMARY' 我知道这一定是个小错误,但我就是看不出来。我在这里讨论了StackOverflow和R

无法反序列化org.hibernate.type.SerializationException

请帮忙-我的申请一直到今天都很顺利。今天我得到了一个异常“无法反序列化”。java.io.eofException。有时我能得到数据。问题是间歇性的。这里可能有什么问题 @Entity @Cacheable @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) public class Filter { private int id; private String name; private User user; p

JPA(Hibernate)和"x2B ;;Tomcat+;两个不同的数据库

我有一个使用Hibernate和Tomcat提供的JPA的webapp。我没有DI框架,没有Spring,没有Guice,没有完整的JavaEE应用服务器 我需要JPA连接到两个不同的数据库。我像这样连接到第一个数据库: EntityManagerFactory emf = Persistence.createEntityManagerFactory("mydb"); [...] EntityManager em = emf.createEntityManager(); EntityManag

无法通过hibernate解析DTD

我的应用程序有很多cfg和hbm文件。我在加载它们时出错。 确定的问题与DTD有关 原始文档类型如下 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3

如何使用hibernate获取所有单词排列?

我想使用hql或条件创建一个hibernate查询,以获取一个单词的所有排列,对于我想获取的单词elepahant: 伊莱芬特 伊莱芬特 伊利芬特 elefant 起初,我假设“%”“+”elepahant“+“%”可以完成这项工作,但实际上它只返回以任何字母开头、以任何字母结尾并包含大象的任何单词,但我想得到上面示例中的所有单词重置,那么有什么可能的方法可以做到这一点呢?看看Hibernate搜索、Lucene和拼写检查。我认为用简单的SQL无法完成这些事情。 一个非常简单的解决方案是使用

SettingsFactory.java中的NullPointerException:159-Hibernate3、Oracle10g、Websphere6.1

我正在WebSphereApplicationServer6.1中使用Hibernate3。 我正在使用JNDI连接到我的数据源。我在管理控制台中检查了连接,连接成功。但当我在服务器上部署我的项目并使用JNDI连接到数据源时,我得到了下面的错误消息 Caused by: java.lang.NullPointerException at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:159)

Hibernate从继承器在db中创建表

您好,您能说一下如何从iheritors在DB中创建表(而不是为具有带描述符的继承器的基类创建一个表)吗? 例如: 我有一个基本抽象类: public abstract class Person { public string Name; } 有些继承人喜欢: public class Student : Person public string University; } public class Driver : Person { publi

Hibernate @SequenceGenerator和allocationSize强制重置

我们正在使用@SequenceGenerator映射实体,并已将allocationSize设置为100。Hibernate适当地生成主键 我们现在有了一个后台作业,必须在表中插入一组新记录。此过程完成后,我们希望强制Hibernate重置其分配块,并再次从序列中读取下一组ID 否则,hibernate将生成下一组ID(基于留在分配池中的ID),这些ID可能与流程输入的新记录重叠 有没有办法清除分配池并强制hibernate重新加载序列nextval?系统范围的设置也可以(即强制重新加载所有序列

Hibernate JPA链接表

我正在尝试创建一个链接表来链接父母/孩子,他们都属于同一类型(person)。我还试图创建一个链接表来链接球员和球队 在团队课程中,我有: @OneToMany @JoinTable(name = "PLAYER_TEAM_LINK", joinColumns = { @JoinColumn(name = "TEAM_ID")}, inverseJoinColumns = { @JoinColumn(name = "PLAYER_ID")}

hibernate关系注释(@OneToOne、@OneToMany等)是如何工作的

假设有一个实体学生与一个被延迟加载的实体主题有一对多的关系@OneToMany注释用于指定关系。我想了解hibernate如何处理此注释的内部工作原理。当从数据库中读取的数据创建Student实例时,hibernate使用自己的集合实现实例(称为PersistentCollection)初始化主题集合 此PersistentCollection最初未初始化,不包含任何数据。第一次调用此集合的任何方法时,将执行SQL查询以加载学生的所有主题,然后将主题缓存在集合中以供后续所有方法调用。:)它是开源

Hibernate 如何获取外键值

我有两张名为学生和学校的桌子。我的学生表列为(studentName、studentNumber和school\u id\u fkey)。我的学生实体看起来像 public Class Student{ String studentName; String studentNumber; @JoinColumn(name = "school_id_fkey", referencedColumnName = "id") School school; .... } 我想做的是我想得到

Hibernate Grails编程事务处理

我的Grails应用程序有一个服务方法,用于更新last.fm的web服务中的艺术家列表 @Transactional(propagation = Propagation.NOT_SUPPORTED) void updateLastFmArtists(Range idRange = null) { Artist.list().each { Artist artist -> // We could be updating a lot of artists here

Hibernate搜索--关闭多读卡器

最近当我使用hibernate搜索时,总会有一条信息: DEBUG MultiReaderFactory - Closing MultiReader: CacheableMultiReader(ReadOnlyDirectoryReader(segments_1:nrt _0(3.6.2):C295103)) 我在谷歌上找不到任何有用的信息。有人有想法吗 我发现在query子句之后: CacheQuery cq = CSECore.searchManager.getQuery(query,En

Hibernate Grails引发非唯一对象异常

如何在应用程序中多次调用domain.save()?当我在应用程序中途保存域,然后在提交应用程序时再次保存域时,它会引发非唯一对象异常。在提交应用程序之前,我还尝试调用.merge(),但它抛出了一个org.hibernate.StaleObjectStateException:行被另一个事务更新或删除(或者未保存的值映射不正确) 提前感谢在域对象上调用save flush:true并清除会话(参见下面的示例)。有关更多详细信息,请查看:grails.org/doc/latest/guide/G

使用Hibernate条件时搜索结果中的额外实体

我有一个带有字段链接的类事件: 我需要搜索所有具有非空sourceKey字段的all链接房间的所有事件 我在DAO中使用了Hibernate标准: public List<Event> search(EventSearchCriteria searchCriteria) { Criteria criteria = getCurrentSession().createCriteria(clazz); criteria.setResultTransformer(Crite

Hibernate@manytone与自定义生成的ID

我有一个关于@OneToMany与自动生成的ID绑定的简单问题-下面是代码的相关部分。我面临的问题是,在我的每个偏差中,生成的自定义id没有添加到sampleRequest实例中。它试图在数据库中插入null,而我不允许null,因此它失败了 谢谢 @Entity @Table(name="SAMPLE_REQUESTS") public class SampleRequest implements Serializable { @Id @Column(name="REQUEST_

Hibernate 带有@EmbeddedId和外键的双向一对一映射

我在使用@EmbeddedId和外键进行双向一对一映射时遇到了一些问题 每次执行em.find(Bkftd03,Bkftd03PK.class)y都会得到相同的错误: Error performing load command : org.hibernate.TypeMismatchException: Provided id of the wrong type for class com.ibc.gsr.entity.Bkftd03. Expected: class com.ibc.gsr.

Hibernate 理解循环内事务中的grails死锁

当前在循环内的事务上存在事务死锁: def method() { attemptIds.each { attemptId -> Attempt.withTransaction { def attempt = Attempt.findById(attemptId, [lock:true]) attempt.refresh() //modify attempt and save }

Hibernate 在同一控制器方法中使用多部分时如何处理外键?

我有一个下拉列表,其中包含表单中的目的地名称。在Place表中,我有一个外键:destination\u id,它对应一个destination\u名称。在我的控制器中,当我试图设置目的地id的值时,我得到错误400,它说:客户端发送的请求在语法上不正确。 This is entity class: Place.java package com.tawesomeness.edikshedik.model; import javax.persistence.Entity; import jav

Hibernate 使用数据源强制释放weblogic中的非活动/已捕获连接

我创建了一个在DB中修改表的简单项目。我使用WebLogicServer10.3和Hibernate(Hibernate-core-4.1.0.jar)进行jdbc连接。我已经在weblogic中为相同的连接池创建了数据源(oracle.jdbc.xa.client.oraclexadasource)。当我执行程序时,出现以下错误-- 您泄漏了一个连接。没有关上。它变为非活动状态,但不在池中。一段时间后,WLS注意到连接实际上处于非活动状态,即泄漏,并强制关闭连接,将其返回到池中 提及 格姆雷

使用CDI和Hibernate4在自定义ConnectionProvider中注入

在JavaEE7项目中,我需要一个自定义ConnectionProvider,它使用记录的用户ID调用DB函数,并设置为DB会话变量 我的问题是,我不能将我的登录用户注入MyConnectionProvider,但注入所有其他bean——没有问题 这是我的连接提供程序: @SessionScoped @Named public class MyConnectionProvider implements ConnectionProvider, Configurable, Serializable

Hibernate JPA 2.1 performant SaveAll in ManyToMany关系

我有以下实体Product(-placement)和CustomerReview与许多关系。我使用Hibernate和spring数据jpa来持久化我的实体 public class ProductPlacement implements Serializable{ private static final long serialVersionUID = 1L; public ProductPlacement(Long id){ this.id = id; }

如何在Spring数据中修改Hibernate拦截器

我有自己的自定义Hibernate拦截器实现,但我想使用一个依赖项: class MyInterceptor extends EmptyInterceptor { private Handler handler; public void setHandler(Handler) { this.handler = handler; } @Override pubic boolean onFlushDirty(...) { handler.customLogic }

Hibernate 在Grails外部使用GORM时未找到会话错误

我正在尝试创建一个POC,以便在Grails之外使用GORM。我创建了一个groovy gradle独立插件。我跟着火车走了 在main()类中对我的用户域进行了count()查询。使用gradle run命令运行应用程序时遇到以下错误: Exception in thread "main" org.springframework.dao.DataAccessResourceFailureException: Could not obtain current Hibernate Session;

Hibernate 用户/角色的系统,如何实现其他属性?

我正在使用Spring Boot开发一个应用程序,因此我使用的UML类有3个实体: 管理员(id、用户名、密码、电子邮件) 经理(id、用户名、密码、电子邮件、电话) 客户(id、用户名、密码、电子邮件、电话、地址) 管理员与Manager之间有一对多/多对一的映射 也可使用实体客户端进行一对多/多对一 经过一些研究,我将其改为用户/角色系统,因此实体用户 具有如下属性: public class AppUser implements Serializable { @Id @G

Hibernate 如何解决“问题”;LazyInitializationException“;I';我遇到了什么?

希望你能帮我停止把头撞到墙上 这是我的问题,在许多论坛上进行了大量的研究之后,我没有找到任何与我遇到的问题相一致的答案 我有org.hibernate.LazyInitializationException:未能延迟初始化角色集合:com.supinfo.suppicture.entity.User.pictures,没有关闭任何会话或会话,这似乎是一个已知的异常,但仍然让我抓狂 我尝试过强制进行急切加载,而不是延迟加载,但仍然存在同样的问题 以下是我的课程: category.java @En

Hibernate JPA:saveAll(列表)未按预期工作 `for(int i=0;i请显示一些代码,说明如何创建对象以及实体的外观。是否实现了equals?列表中有N个对单个唯一对象的引用。必须有一个新的MyProject()在循环中。我无法再关闭,但这是“非常感谢”

JPA:saveAll(列表)未按预期工作 `for(int i=0;i请显示一些代码,说明如何创建对象以及实体的外观。是否实现了equals?列表中有N个对单个唯一对象的引用。必须有一个新的MyProject()在循环中。我无法再关闭,但这是“非常感谢”的副本。通过添加新的MyProject()解决了此问题。能否提供您的解决方案作为答案?否则问题将显示为未回答。谢谢 ` for(int i=0;i<units.size();i++){ obj = units.get(i

Hibernate Spring JPA获取OneToMany关系的子集

我有两张桌子 文章 评论 在存储库中: interface ArticlesRepository : JpaRepository<Article, Long>{ fun findArticlesByUsername(username:String):List<Article> } 我想通过user\u z 因此,结果将是: - article_a - comment_2 by user_z - article_b - article_c 对不